2015-12-15 20 views
7

マイフラスコプロジェクトのような移行エラーを引き起こす、そのモデルの定義の一部でsqlalchemy_utilsを使用しています。フラスコ-移行する移行モジュールを自動インポートする方法

flask-migrate/alembicは、このパッケージをマイグレーションファイルにインポートする行を自動生成したいのですが、どのようにすれば実現できますか?

私はalembic.iniとmigrations/env.pyを見てきましたが、それが正しいかどうかはわかりません。

答えて

9

最も簡単な方法は、そのインポートを含むようにテンプレートを変更することです。

script.py.mako

... 
from alembic import op 
import sqlalchemy as sa 
import sqlalchemy_utils 
${imports if imports else ''} 
... 

カスタムタイプを提供する複数のモジュールを持っている場合は、あなたが戦略described in the docsを使用することができます。異なるモジュールをインポートするモジュールをプロジェクト内に作成し、Alembicがユーザータイプに使用する接頭辞として設定します。

/myapp/migration_types.py

from sqlalchemy_utils import * 
from myapp.custom_model_type import MyType 

script.py.mako

... 
from myapp import migration_types 
... 

env.py

... 
def run_migrations_online(): 
    ... 
    context.configure(
     ... 
     user_module_prefix='migration_types.', 
     ... 
    ) 
... 
+0

もテンプレートに渡さ 'imports'変数を変更するための方法であるが、私必要があります現時点でそれを見つけることができません。 – davidism

関連する問題