2

postgresデータベースでsqlalchemyを使用してフラスコアプリケーションに取り組んでいます。フラスコ移行でデータベースを移行しています。データベース内のテーブルの 1 つの名前を変更する必要があり、移行 (flask-migrate) しようとするとエラーが発生しました

sqlalchemy.exc.InternalError: (psycopg2.InternalError) cannot drop table category_announcement_date because other objects depend on it
DETAIL:  constraint announcement_dates_id_fkey on table announcement_dates depends on table category_announcement_date
HINT:  Use DROP ... CASCADE to drop the dependent objects too.
[SQL: '\nDROP TABLE category_announcement_date']

この問題についてフラスコ移行する方法がわからなかったので、手動で行うという素晴らしいアイデアを思いついたので、psql に移動し、エラー メッセージで示唆されているように、CASCADE コマンドと一緒にテーブルを削除しました。それはすべてうまくいきましたが、今は移行を完了できませんか? アップグレードを実行すると、

python manage.py db upgrade
...
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) table "category_announcement_date" does not exist

これはおそらく、テーブルを手動で削除したためですか? この混乱から抜け出す方法を知っている人はいますか?ありがとうカール

4

1 に答える 1

1

わかりました、バージョン ファイルを削除して、移行を繰り返すことに気付きました。

于 2016-04-02T15:46:27.783 に答える