問題タブ [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.
postgresql - Postgresql とフラスコの接続
でフラスコを使用していpython3
ます。
移行スクリプトはエラーなしで動作しています。メインアプリも問題なく動いています。postgresql
移行を実行するときに使用していますが、すべて正常に実行されますが、postgres
シェルに移動すると、作成されているテーブルが表示されません。
model.py
ご覧のとおり、そこには2つのテーブルがありuser_info
ますが、手動で作成したためデータベースに表示されていますが、他のテーブルは表示されていません。
データベースへの接続を正しい方法で設定しているかどうか、または何も作成されていないかどうかはわかりません。
ありがとう。
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 つの移行スクリプトは、実際にはそれほど違いはありませんか? では、アップグレード自体が初めて機能しないのはなぜですか (アップグレードに実際にテーブルを作成するコードがある場合)、新しいスクリプトが再度生成されたときに完全に機能するのはなぜですか (アップグレード方法自体がまったく変更されていない場合)。以前の移行スクリプトと比較して?
database - multi-tanent postgres データベース用のflask-migrate
私のフラスコプロジェクトでは、manage.pyファイルに次のように書きました。
userとdashboardの 2 つのモデルがあります。私のpostgresデータベースuser
テーブルではデフォルトpublic schema
になり、新しいユーザーを作成した後private schema
、ダッシュボードテーブルが作成される場所を作成する必要があります。
デフォルトのパブリック スキーマの場合、通常はpython manage.py db migrate
. 次に、デフォルトのパブリック スキーマにテーブルを作成します。しかし、私の場合はどうすればよいですか?最初に、migrate コマンドを実行してUser
、パブリック スキーマにテーブルを生成する必要があります。次に、ユーザー テーブルに正常に行を追加した後、新しいテーブルdashboard
が生成されるプライベート スキーマを作成するためのスクリプトを実行する必要があります。どうすればこれを達成できますか?
flask - 異なる postgres スキーマを使用した Flask Migrate ( __table_args__ = {'schema': 'test_schema']})
フラスコ、sqlalchemy、およびflask_migrateを使用しようとしています...
しかし、manage.py migrate を実行するたびに、alembic は常にモデルを新しいテーブルとして検出します。
テーブルを別のpostgresスキーマに保存するために、モデルにtable_argsを入れたと思い ます:
モデルのtable_args行を削除すると、フラスコの移行は適切に機能します。テーブルをパブリック postgres スキーマに保存します。
では、flask で異なる postgres テーブル スキーマを使用するにはどうすればよいでしょうか?
ありがとう!
flask - フラスコ端末コマンドが見つかりません
Flask 0.10 にはコマンドがないことを説明するこの Stack Overflow questionを見つけました。flask
Flask-Migrate 用にデータベースを初期化するにはどうすればよいですか?
Flask-Migrateのドキュメントに従っているときに、この問題を発見しました。パッケージをインストールして構成を追加した後、init db
は実行されません。
python - DB移行ファイルの列間でデータをコピー/移動できますか?
SqlAlchemy/Flask アプリケーションがあります。その中に、 という名前の既存のモデルがありMyModelA
ます。これは次のようになります。
今、子モデルを追加していMyModelB
ます。これは次のようになります。
それから私は走りpython manage.py migrate
ます。これは、移行ファイルに表示されるものです。
MyModelA
のすべてのインスタンスに対して、インスタンスの子レコードをに設定してMyModelB
作成する必要があるように、この移行を編集したいと考えています。どうすればいいですか?MyModelB.my_field2
MyModelA.my_field1
アップグレードとダウングレードのコードを表示してください。
python - フラスコ移行で作成された最新の移行を見つけるにはどうすればよいですか?
私のフラスコアプリケーションには現在、20以上の移行が組み込まれてflask-migrate
おり、それらはすべて次のようなハッシュされたファイル名を持っています:389d9662fec7_.py
実行した最新の移行の設定を再確認したいのですが、すべてのファイルを開いて正しいファイルを探したくありません。新しいダミーの移行を作成し、それが何を参照しているかを確認することはできますdown_revision
が、それは不格好に思えます。
flask-script
、flask-migrate
、およびを使用していますflask-sqlalchemy
私の質問は、作成した最新の移行をすばやく見つけるにはどうすればよいですか?