私はFlask-Migrate(Alembic)を使用してデータベースを更新しています。私はmodels.py
ファイルを更新しましたが、エラーが発生しました。私は、マイグレーションを実行し、データベースをアップグレードするために行ってきました、しかし、私はこのエラーを得た:私が行っていた何Flask-Migrate(Alembic)でデータベースを移行またはアップグレードできません
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
を実行したとき、私は私がで立ち往生していた最新のデータベースのバージョンを取得
修正プログラムはこのためにありますか。?ありがとう。
まだ実行していないマイグレーション(悪いもの)があるようです。正しいものに編集するか削除して、再度移行を生成してください。 – dirn
移行を削除するにはどうすればよいですか? –
移行は単なるファイルです。ファイルを削除するだけです。 Flask-Migrateは通常、それらを 'migrations/version'の中に保存します。 – dirn