問題タブ [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 投票する
1 に答える
3015 参照

postgresql - Postgresql とフラスコの接続

でフラスコを使用していpython3ます。

移行スクリプトはエラーなしで動作しています。メインアプリも問題なく動いています。postgresql移行を実行するときに使用していますが、すべて正常に実行されますが、postgresシェルに移動すると、作成されているテーブルが表示されません。

model.py

ご覧のとおり、そこには2つのテーブルがありuser_infoますが、手動で作成したためデータベースに表示されていますが、他のテーブルは表示されていません。

データベースへの接続を正しい方法で設定しているかどうか、または何も作成されていないかどうかはわかりません。

ありがとう。

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

flask - テーブルのドロップ後にフラスコの移行アップグレードが機能しない

DB移行にはSqlAlchemyとFlask-migrateを使用しています。DB の初期化に成功し、以下を使用して 1 回アップグレードしました。

python manage.py db init
python manage.py db migrate # 以下のように移行スクリプト faefc6a6c7ae を作成します。

その後

python manage.py db upgrade # 実際に移行を行い、db に「users」テーブルと「posts」テーブルを作成します。

ここで、次のコード行を含む test.py を実行します (他とは別に):

test.py の実行が終了した後、tearDown() は db 内のすべてのテーブルを削除します。

この後、今私が走るとき

python manage.py データベースのアップグレード

コンソールに次のメッセージが表示されます。

INFO [alembic.runtime.migration] コンテキスト impl MySQLImpl.
INFO [alembic.runtime.migration] 非トランザクション DDL を想定します。

しかし、実際にはそれぞれのテーブルをまったく作成しません。ただし、回避策があります。だから私がするなら:

python manage.py db migrate # 以下のように新しい移行スクリプトを作成します (以前のものとあまり変わらない):

そしてもしそうなら

python manage.py データベースのアップグレード

再び、テーブルが作成されます。

ここで、テーブルが作成されなかった理由を理解したいと思います

python manage.py データベースのアップグレード

初めて実行されましたか? db migrate によって作成された 2 つの移行スクリプトは、実際にはそれほど違いはありませんか? では、アップグレード自体が初めて機能しないのはなぜですか (アップグレードに実際にテーブルを作成するコードがある場合)、新しいスクリプトが再度生成されたときに完全に機能するのはなぜですか (アップグレード方法自体がまったく変更されていない場合)。以前の移行スクリプトと比較して?

0 投票する
0 に答える
490 参照

database - multi-tanent postgres データベース用のflask-migrate

私のフラスコプロジェクトでは、manage.pyファイルに次のように書きました。

userdashboardの 2 つのモデルがあります。私のpostgresデータベースuserテーブルではデフォルトpublic schemaになり、新しいユーザーを作成した後private schema、ダッシュボードテーブルが作成される場所を作成する必要があります。

デフォルトのパブリック スキーマの場合、通常はpython manage.py db migrate. 次に、デフォルトのパブリック スキーマにテーブルを作成します。しかし、私の場合はどうすればよいですか?最初に、migrate コマンドを実行してUser、パブリック スキーマにテーブルを生成する必要があります。次に、ユーザー テーブルに正常に行を追加した後、新しいテーブルdashboardが生成されるプライベート スキーマを作成するためのスクリプトを実行する必要があります。どうすればこれを達成できますか?

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

flask - 異なる postgres スキーマを使用した Flask Migrate ( __table_args__ = {'schema': 'test_schema']})

フラスコ、sqlalchemy、およびflask_migrateを使用しようとしています...

しかし、manage.py migrate を実行するたびに、alembic は常にモデルを新しいテーブルとして検出します。

テーブルを別のpostgresスキーマに保存するために、モデルにtable_argsを入れたと思い ます:

モデルのtable_args行を削除すると、フラスコの移行は適切に機能します。テーブルをパブリック postgres スキーマに保存します。

では、flask で異なる postgres テーブル スキーマを使用するにはどうすればよいでしょうか?

ありがとう!

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

flask - フラスコ端末コマンドが見つかりません

Flask 0.10 にはコマンドがないことを説明するこの Stack Overflow questionを見つけました。flaskFlask-Migrate 用にデータベースを初期化するにはどうすればよいですか?

Flask-Migrateのドキュメントに従っているときに、この問題を発見しました。パッケージをインストールして構成を追加した後、init dbは実行されません。

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

python - DB移行ファイルの列間でデータをコピー/移動できますか?

SqlAlchemy/Flask アプリケーションがあります。その中に、 という名前の既存のモデルがありMyModelAます。これは次のようになります。

今、子モデルを追加していMyModelBます。これは次のようになります。

それから私は走りpython manage.py migrateます。これは、移行ファイルに表示されるものです。

MyModelAのすべてのインスタンスに対して、インスタンスの子レコードをに設定してMyModelB作成する必要があるように、この移行を編集したいと考えています。どうすればいいですか?MyModelB.my_field2MyModelA.my_field1

アップグレードとダウングレードのコードを表示してください。

0 投票する
2 に答える
1344 参照

python - フラスコ移行で作成された最新の移行を見つけるにはどうすればよいですか?

私のフラスコアプリケーションには現在、20以上の移行が組み込まれてflask-migrateおり、それらはすべて次のようなハッシュされたファイル名を持っています:389d9662fec7_.py

実行した最新の移行の設定を再確認したいのですが、すべてのファイルを開いて正しいファイルを探したくありません。新しいダミーの移行を作成し、それが何を参照しているかを確認することはできますdown_revisionが、それは不格好に思えます。

flask-scriptflask-migrate、およびを使用していますflask-sqlalchemy

私の質問は、作成した最新の移行をすばやく見つけるにはどうすればよいですか?