問題タブ [alembic]
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.
python - Alembic --autogenerateは、空の移行を生成します
Alembic初めて使用しようとしていますが、ここで--autogenerate説明する機能を使用したい
私のプロジェクト構造は次のようになります
私はFlaskandSQLAlchemyとそのFlask-SQLAlchemy拡張機能を使用しています。私のモデルUserは次のようになります
ここで説明するように、私は次env.pyのように変更しました
と
configuration.__init__pyのように見える場所
移行を実行すると
しかし、ファイルalembic/versions/55a9d5には空upgrade()のdowngrade()メソッドがあります
Userどうして新しいモデルがあるのか理解できないのですか?助けてください
python - Alembic:モデル内のカスタム タイプを移行する方法は?
私のUserモデルは
sqlalchemy docsで説明されてGUIDいるカスタム型です(まったく同じ)
今私が走るとき
私は私のように取得upgrade()します
しかし、アップグレードの適用中 -> alembic upgrade head、私は見る
GUIDここで /custom タイプで動作させるにはどうすればよいですか?
python - Python: インメモリ db を使用してデータベース モデルをテストするにはどうすればよいですか?
私はプロジェクトを開発しており、モデル
を持っているORMとしてFlask使用していますSQLAlchemyUser
- Alembicを使用して移行スクリプトを作成します。
- 私の選択したデータベースは
PostgreSQL、モデルをテストするためのものですがSQLite、テストを高速化するために使用することを好みました - にいくつかのタイプがあり、この場合は
PostgreSQLそうでない場合に問題が発生しましたSQLiteUUID - で移行を実行すると
sqlite://、エラーが発生します
AttributeError: 'module' オブジェクトに属性 'GUID' がありません
質問- SQLite でスキーマを保持し、メモリ内テストを実行するには
どうすればよいですか? GUIDそのようなものSQLiteはないようです
- データベースがPostgreSQL
alembic - alembic/env.py target_metadata = メタデータ "モジュール名 al_test.models がありません"
alembic を使用してプロジェクトのデータベースのバージョンを制御する場合、env.py のコードの一部は次のようになります。
「alembic Revision --autogenerate -m "Added user table"」を実行すると、次のエラーが表示されます: File "alembic/env.py", line 18, in from from al_test.models import metadata ImportError: No module named al_test.models
では、どのように質問を解決するのですか?ありがとう!
postgresql - after_create でカスタム DDL を発行するように alembic を取得するにはどうすればよいですか?
テーブルの作成後に実行したいカスタム DDL ステートメントがいくつかあります。
そして、私はそれらを次のように添付しました:
するとcreate_all、期待どおりの SQL が得られます。
しかし、Alembic を使用してアップグレードすると、ステートメントは表示されません。
「after_create」イベントをトリガーするalembicを取得する方法はありますか?
python - Alembic は変更を検出しますが、 --autogenerate で空の移行を生成します
フラグを使用して、alembic が動作する自動生成の移行を取得しようとしてい--autogenerateます。
実行するalembic -n mydbname --autogenerate -m "my message"と、次のようなものが得られます。
しかし、生成された移行ファイルを見るupgradeと、downgradeどちらも単にpass.
どうしたの?!
python - Alembic は列の変更を自動生成できますか?
alembic --autogenerate列を追加/削除するときに使用できまし
た。
ただし、たとえば「url」列を200文字から2000文字に変更したい場合、変更が検出されません。
Alembic を (SQLAlchemy を使用して) 作成し、変更を検出して、モデルのさまざまな列の「サイズ」に対するスクリプトを自動生成し、PostgreSQL 用の「alter_column」コマンドを作成するにはどうすればよいですか??
編集:
alembic が自動的に追加しないのはなぜですか: