Erreur migration
Bonjour, j''ai cette erreur quand j'essaie de faire mes migrations, pourtant j'ai activé les droits sur la base de donnée.
chris@LAPTOP-TDD8HGBK MINGW64 ~/docstring/django/projets/blog/src
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Traceback (most recent call last):
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 87, in _execute
return self.cursor.execute(sql)
^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.InsufficientPrivilege: ERREUR: droit refusé pour le schéma public
LINE 1: CREATE TABLE "django_migrations" ("id" bigint NOT NULL PRIMA...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\migrations\recorder.py", line 70, in ensure_schema
editor.create_model(self.Migration)
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\base\schema.py", line 447, in create_model
self.execute(sql, params or None)
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\base\schema.py", line 199, in execute
cursor.execute(sql, params)
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 103, in execute
return super().execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 84, in _execute
with self.db.wrap_database_errors:
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\utils.py", line 91, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 87, in _execute
return self.cursor.execute(sql)
^^^^^^^^^^^^^^^^^^^^^^^^
django.db.utils.ProgrammingError: ERREUR: droit refusé pour le schéma public
LINE 1: CREATE TABLE "django_migrations" ("id" bigint NOT NULL PRIMA...
^
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\migrations\executor.py", line 107, in migrate
self.recorder.ensure_schema()
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\migrations\recorder.py", line 72, in ensure_schema
raise MigrationSchemaMissing(
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table (ERREUR: droit refusé pour le schéma public
LINE 1: CREATE TABLE "django_migrations" ("id" bigint NOT NULL PRIMA...
^
)
liste bases de données:
postgres=# \l
Liste des bases de donnÚes
Nom | PropriÚtaire | Encodage | Collationnement | Type caract. | Locale ICU | Fournisseur de locale | Droits d'accÞs
-----------+--------------+----------+--------------------+--------------------+------------+-----------------------+------------------------
blog | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc | =Tc/postgres +
| | | | | | | postgres=CTc/postgres +
| | | | | | | blogadmin=CTc/postgres
postgres | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc |
template0 | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
(4 lignes)
Je ne comprend pas d'où viens le problème.
Bonjour Christian,
J'ai vu le même problème récemment avec un autre étudiant, il faut que je vérifie mais je crois qu'il peut s'agir d'un problème lié à la dernière version de Django (4).
J'avais réussi à résoudre le problème avec ces deux lignes de SQL :
GRANT ALL ON SCHEMA public TO your_user;
GRANT ALL ON SCHEMA public TO public;
Pensez bien à remplacer "your_user" par le nom d'utilisateur que vous avez choisi pour gérer votre base de données.
Bonjour,
J'ai rencontré le soucis lié au droit que l'on fait : "psycopg2.errors.InsufficientPrivilege:...........".
J'ai fait plusieurs manip via la console psql pour éssayer d'élever les privilèges etc....sans succès.
Le plus simple est de passer par l'application pgadmin pour gérer cela sur le user docuser :
ouvrir l'applicatif> aller sur le login/group > aller sur l'utilisateur docuser et faire un clic droit>Sélectionner properties 
aller sur l'onglet privilege > cliquer sur superutilisateur (les autres droits liés vont être activés).

Enregistrer.
Aller sur le terminal et lancer la commande de migration python manage.py migrate , la commande est bien passé:

au cas où, mes précédentes actions faites:

Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte