Bonjour, et bienvenue à une autre promenade pour Django pour tout le monde.
C' est une sorte de supplément au tutoriel 2.
Dans le tutoriel 2, vous jouez avec models.py, et si vous passez par
le tutoriel, ils vous demanderont de faire quelque chose, puis ils feront une autre chose, et
ils vous montreront en quelque sorte les migrations, et comment les migrations se produisent.
Et si vous avez une erreur, et si vous faites une erreur,
vous pouvez arriver au point où vous avez besoin d'aide ou autre, et
parfois il est plus facile d'effacer votre base de données.
Mais si vous avez ajouté une question, ou ajouté des choix, ou si vous
construisez des modèles, vous devez faire tout cela.
Mais il est parfois plus facile de réduire certaines de ces choses.
Donc, je vais vous montrer quoi faire si votre modèle/base de données est foiré,
comme vos makemigrations manage.py et migrer ne font pas ce que vous pensez ou
ils vous donnent des erreurs bizarres, maintenant ils vont à une erreur de syntaxe.
Assurez-vous que vous le faites Python gérer PY check, n'est-ce pas ?
Avant de déclarer que votre base de données est foirée.
Laisse-moi
aller sur mon site.
Alors me voilà maintenant, voici tous mes dossiers.
Donc, avant de déclarer que la base de données
est un problème de vérification manage.py, whoops.
Oups, j'ai foiré,
je suis dans mon environnement virtuel, bien sûr.
Ok, donc on n'a plus de problèmes maintenant, donc c'est bien.
Donc j'ai quelques commandes ici, laissez-moi vous expliquer ça.
Avant de les supprimer, je veux vous montrer où est la migration,
je vous l'ai probablement montré.
Donc j'ai un truc appelé sondages aussi, et j'ai tous les sondages en cours, donc
c'est comme dans le tutoriel aussi.
Les migrations sont dans des fichiers avec un nombre et leurs fichiers Python.
Donc, si vous vous souvenez,
les migrations sont des représentations portables de ce qui se passe dans la base de données.
Et puis la migration crée le fichier db.sqlite.
Donc, si vous voulez vraiment recommencer, vous devez vous débarrasser des deux migrations et
du fichier db.sqlite, puis vous pouvez commencer complètement frais.
Je veux dire, vous pouvez en faire une partie, mais je suis comme si vous êtes foutu ici au
tutoriel 2, c'est probablement plus facile de se débarrasser des deux.
Donc, à ce stade, mon application va cesser de fonctionner, donc
je me débarrasse des migrations et je me débarrasse de ma base de données.
Et donc à ce stade, la seule chose que j'ai qui a à voir avec
n'importe quoi dans ma base de données est -l */model.py fichiers,
et c'est là que nous éditons notre code.
Et donc ce polls2models.py dans mon exemple particulier est le code qui
va être efficace parce que j'ai toutes les versions en même temps,
c'est pourquoi vous voyez ceci.
Donc, la prochaine chose que vous faites est Python 3 ou
Python manage.py makemigrations.
Donc, ce que makemigrations fait, c'est qu'il lit tous ces fichiers models.py et
qu'il écrit ce fichier.
Donc je me suis débarrassé de ce dossier, mais maintenant si je fais un LS, tu verras qu'il reviendra.
Et parfois, vous pouvez voir dans O2, etc., et puis vous le jetez,
et vous le rendez frais, et vous ne devriez voir que 001,
et puis vous pouvez dire python manage.py migrer.
Eh bien, laissez-moi Ctrl+C là, si je fais un LS,
vous verrez ça, attendez une seconde, comment ça se fait ?
Maintenant, le db.sqlite3 est 0 taille,
donc je vais faire Python 3 ou
python gérer, désolé mon Mac, migrer.
Donc, c'est lire ces fichiers plus un tas d'autres et
créer réellement des bases de données.
Et maintenant, si je dis ls -l, mon db.sqlite3 est de retour et
je devrais peut-être créer un super utilisateur.
Si j'ai créé un compte super utilisateur, je vais devoir en créer un à nouveau,
non ?
Et donc je vais le faire.
DJ40e mandrin,
csev@mich.edu.
Ok,
je devrais rendre mes mots de passe plus faciles à taper.
Maintenant, à ce stade, les choses devraient commencer à fonctionner.
Mais encore une fois, si j'ai créé des données comme une question ou quelque chose, et qu'il avait disparu,
il était parti à ce moment où je me suis débarrassé de cette base de données db.sqlite3,
elle a littéralement disparu.
Donc c'est parti maintenant et on s'en va.
Et encore une fois, c'est juste si vous ne parvenez pas à faire
fonctionner ces migrations ou migrer, sauvegarder, recommencer, puis refaire une partie du travail.
Et ce sera probablement un bon moyen de faire les choses.
Les applaudissements.