Я использую Flask-Migrate (Alembic) для обновления своей базы данных. Я обновил свой models.py
файл, но допустил ошибку. Я выполнил миграцию и пошел обновлять базу данных, однако получил эту ошибку:
sqlalchemy.exc.IntegrityError: (_mysql_exceptions.IntegrityError) (1215, 'Cannot add foreign key constraint') [SQL: u'\nCREATE TABLE topics (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\t`subjectID` INTEGER, \n\ttopic VARCHAR(150) NOT NULL, \n\tPRIMARY KEY (id), \n\tFOREIGN KEY(`subjectID`) REFERENCES subjects (id)\n)\n\n']
Я использовал db.Text
вместо db.Integer
для внешнего ключа.
Когда я пытаюсь запустить новую миграцию, я получаю следующее:
alembic.util.CommandError: Target database is not up to date.
Так что теперь я застрял. Я не могу обновить базу данных или запустить миграцию. Я попытался перейти на более старую версию базы данных, используя что-то вроде этого:
python manage.py db downgrade --sql b877018671c:36949b1cca31
Но когда я запускаю python manage.py db current
, я получаю самую новую версию базы данных, в которой я застрял.
Это можно как-то исправить? Спасибо.
migrations/version
. - person dirn   schedule 26.09.2015Target database is not up to date.
- person Pav Sidhu   schedule 26.09.2015