問題タブ [flask-migrate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3191 参照

sqlalchemy - 他の declarative_bases でフラスコ移行を使用する方法

Flask に python-social-auth を実装しようとしています。約 4 つのチュートリアルと完全な Flask-book を同時に解釈しようとしているときに、大量のねじれを解決しました。

現在、次のコードを使用して、python-social-auth がフラスコの sqlalchemy 環境で機能するために必要なテーブルを作成しています。

現在、彼らは明らかに、私の実際の db-object とは関係なく、何らかの形の独自の Base を使用しています。これにより、Flask-Migrate はこれらのテーブルを完全に見逃し、移行でそれらを削除します。もちろん、すべての削除からこれらの db-drop を削除することはできますが、ある時点で忘れ去られ、突然 OAuth とのつながりがなくなったものの 1 つであると想像できます。

python-social-auth Flask の例で提案されているように、このソリューションを manage.py-command syncdb の使用 (および変更) で使用できるようにしました。

Flask-Migrate の作成者である Miguel Grinberg は、私の問題に非常によく似ていると思われる問題にここで返信します。

スタックオーバーフローで見つけた最も近いものはthisでしたが、それは私にとって全体にあまり光を当てておらず、答えは受け入れられませんでした(そして、私はそれを機能させることができません、私は数回試しました)

参考までに、私のmanage.pyは次のとおりです。

明確にするために、db init / migrate / upgrade コマンドは私のユーザー テーブル (および明らかに移行テーブル) のみを作成しますが、ソーシャル認証のものは作成しませんが、syncdb コマンドは python-social-auth テーブルに対して機能します。

これはFlask-Migrateでサポートされていないことをgithubの応答から理解していますが、PSABaseテーブルをいじって、Migrateに送信されたdbオブジェクトによってピックアップされるようにする方法があるかどうか疑問に思っています。

どんな提案でも大歓迎です。

(また、初めてのポスターです。最終的にここに投稿する前に、多くの調査を行い、かなりの数の解決策を試したと思います。SOのガイドラインで明らかな何かを見逃した場合は、躊躇しないでくださいプライベート メッセージでその点を指摘していただければ、喜んで対応します)

0 投票する
1 に答える
66 参照

flask-migrate - フラスコ移行は、アップグレードが完了したことを認識しません

db migrate次に aを実行しましたdb upgradeが、コマンドの 1 つが失敗したため、アップグレードに失敗しました。(移行を実行する前に読んでいませんでした。)

db historyアップグレードが実行されたことを認識した状態になりましたがdb current、以前のアップグレードが HEAD としてリストされていました。

db downgrade私はそれを試しましたが、うまくいきdb upgradeませんでした。

これを修正して移行を続行するにはどうすればよいですか?

0 投票する
1 に答える
742 参照

python - Flask-migrate が Heroku にデータベースを作成しない

問題:

SQLite データベースを Heroku で動作させるのに問題があります。ブラウザでアプリの URL にアクセスしようとすると、内部サーバー エラーが発生します。heroku logsこれを示します:

私が試したこと:

ローカル データベースを削除することで、このエラーをローカルで再現できます (まだ重要なものはありません)。

upgradeFlask-Migrate のコマンドを使用して、ローカルで修正できます。

ただし、同じことを行って Heroku で修正しようとすると、機能しません。

また、手動でテーブルを削除して作成しようとしました:

どうしようかかなり困っています。Flask-Migrate が何らかの理由でデータベース ファイルを作成していないようです。で試しopen('textfile.txt', 'w')たところmanage.py、ファイルが正常に作成されました。

0 投票する
1 に答える
839 参照

python - フラスコ移行:「テーブルが存在しない」ため、データベースをアップグレードできません

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

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

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

0 投票する
1 に答える
1574 参照

flask - Alembic/Flask-Migrate が after_create イベントを検出しない

私は単純なFlask-SQLAlchemyモデルを持っています(トリガーを作成するためのイベントリスナーを使用):

Alembic の移行とアップグレードを実行すると、(MySQL で) TRIGGER が作成されません。ただし、db.create_all() を使用すると、作成されて正常に動作します

Alembic / Flask-Migrate でトリガー (after_create イベントで実行されるカスタム DDL) を作成および管理することはできますか?