Créer les migrations dans la base de données
Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compteToutes les questions

Wilfried
27 juillet 2024
Résolue
4 réponses
message d'erreur en appliquant les migrations avec la commande python manage.py migrate
Bonjour support, J'ai un message d'erreur quand j'execute la commande python manage.py migrate, voir le message d'erreur en capture d'ecran.


Pourriez vous svp jeter un coup d'oeil et me dire le problème.

nicolas
5 janvier 2024
Résolue
5 réponses
Postgresql 15 vs schema public
PostgreSQL 15 supprime la permission ‘CREATE’ sur le schéma public (ou le schéma par défaut) pour tous les utilisateurs, sauf le propriétaire de la base de données.
il faut donc creer un schema dédié:
```
CREATE SCHEMA blog AUTHORIZATION blogadmin;
```
et modifier le setting.py pour l'utiliser
```
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'blog',
'USER': 'blogadmin',
'PASSWORD': 'xxx',
'HOST': 'localhost',
'OPTIONS': {
'options': '-c search_path=blog'
},
}
}
```
sinon vous allez avoir l'erreur:
```
LINE 1: CREATE TABLE "django_migrations" ("id" bigint NOT NULL PRIMA...
```
00:00:00 :Maintenant que notre modèle est créé, on va pouvoir créer les migrations et les appliquerpour créer les tables dans la base de données du projet.
00:00:08 :On va ainsi déjà appliquer les migrations de basequi vont créer les tables également pour la gestion des utilisateurs.Donc je vais rouvrir mon terminal.
00:00:17 :Assurez-vous d'avoir bien votre environnement virtuel de sourcéesi ce n'est pas le cas, donc utilisez la commande source pour l'activer.Donc ce qu'on va faire, c'est à l'intérieur du dossier source,utilisez manage.py pour créer déjà les migrations.
00:00:30 :Donc on va faire make migrations et on ne va même pas spécifier notre application,on va juste mettre make migrations et ça va détecter automatiquementqu'on a des migrations à créer pour le modèle que l'on vient de créer,donc le modèle blog post.
00:00:43 :Donc je vais valider en appuyant sur entréeet là on voit qu'on a bien une migration qui a été créée à l'intérieur de ce dossier migration ici.
00:00:49 :Donc on retrouve notre migration initiale dans notre fichier Python.Donc cette migration, elle va tout simplement créer le modèle de blog postdans la base de données, donc le modèle, c'est-à-dire la tablequi va nous permettre de créer des entrées d'articles,donc des articles à l'intérieur de la base de données.
00:01:06 :On va donc appliquer ces migrations en faisant python manage.py migrate cette fois-ci.Donc je valide en appuyant sur entrée et là vous voyez qu'il va également,comme je vous disais, créer toutes les tables qui concernent l'autorisation,donc avec cette application hot ici,donc cette application qui nous permet de gérer les utilisateurs
00:01:24 :et on voit également ici donc notre application postavec la migration initiale que l'on vient de créer avec make migrations.Donc normalement tout est bon à ce stade-ci et dans notre base de données,on devrait avoir les tables qui ont été créées.
00:01:38 :Pour ça, je vais rouvrir Postgres,donc je vais cliquer sur l'icône de l'application,open Postgres et on va cliquer sur notre base de données blog ici,donc on double clique pour ouvrir automatiquement un terminalqui est à l'intérieur d'un shell SQL avec notre base de données iciet ce que je vais faire c'est slash dt,
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.