我一直在使用 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
我得到了我卡住的最新数据库版本。
有解决办法吗?谢谢。