データベースの更新に 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
と、最新のデータベースバージョンが取得され、立ち往生しています。
これに対する修正はありますか?ありがとう。