erreur de commande alambic util ne peut pas trouver d'identifiant
Je suis en train d'utiliser un alambic pour réguler les migrations sur mon projet. Cela a fonctionné la première fois, mais là, j'avais besoin de supprimer le dossier et de le redémarrer.(ne me demandez pas pourquoi, j'ai juste eu à) je suis ce tutoriel et je lance la commande
python manage.py db init
Et c'était ok. Mais lorsque j'essaie d'exécuter
python manage.py db migrate
J'obtiens cette erreur:
alembic.util.CommandError: Can't locate revision identified by '31b8ab83c7d'
Maintenant, il semble que l'alambic est à la recherche d'une révision qui n'existe plus. Il est de toute façon de faire de l'alambic oublier que le fichier? Ou comme le redémarrage de la comparaison d'Aucun -> auto-généré à nouveau?
source d'informationauteur André Heringer
Vous devez vous connecter pour publier un commentaire.
Alambic stocke l'historique de la version de votre base de données. C'est donc à l'aide de la valeur stockée dans votre base de données pour la recherche de la révision. Le numéro de version pour ma propre base de données est stockée dans la table
alembic_version
:Astuce: Utilisez la commande
SHOW TABLES
si c'est un SQL de base de données pour voir les tables.Pour résoudre votre problème, utilisez simplement la commande:
Ou quel que soit le nom de la version de base de données de la table.
Et puis vous avez besoin de ré-initialisation de la migration dossier à l'aide de la commande:
Et ensuite, la création d'une nouvelle migration:
Et vous devriez être bon d'aller avec les migrations de travail dans l'alambic.
SirKaiserKai la solution n'a pas fonctionné pour moi, probablement parce que j'ai fait une erreur stupide dernière fois que j'ai migré et supprimé un fichier que je devrais l'avoir gardé.
Au lieu de déposer
alembic_revision
tableau que je viens de mettre à jour la valeur dansversion_num
de match où je savais que ma DB est à.Assurez-vous d'utiliser la migration ID du fichier qui correspond à l'état actuel de votre base de données
Vérifier l'manquant numéro de migration
Mise à jour de la valeur
Si votre base de données est dans un état autre que le fichier de migration
<true state of DB>
alors vous êtes juste de continuer à avoir des erreurs.