2013-06-18 18 views
19

カラムの追加/削除時に alembic --autogenerateを使用できました。Alembicは列の変更を自動生成できますか?

しかし、たとえば「url」列を200文字から2000文字に変更する場合、変更を検出しません。

私はどのようにして(SQLAlchemyを使用して)Alembicを作成し、変更を検出し、スクリプトをモデルのさまざまな列の「サイズ」に自動生成し、PostgreSQL用の「alter_column」コマンドを作成できますか?

編集:

なぜアレンビック自動的に追加されません:私はredditのの/ R /フラスコに答えを見つけたよう

op.alter_column('mytable', 'url', type_=sa.String(2000), existing_type=sa.String(length=200), nullable=True) 

答えて

35

が見えます。

http://www.reddit.com/r/flask/comments/1glejl/alembic_autogenerate_column_changes/cale9o0

ちょうどあなたのenv.pyの "run_migrations_online" 機​​能()内のパラメータをcontext.configureを "true compare_type =" を追加します。

context.configure(
       connection=connection, 
       target_metadata=target_metadata, 
       compare_type=True 
       ) 
+6

これは本当にデフォルトにする必要があります。または、これをオンにする方法については、はるかにはっきりしている必要があります。 – user1175849

関連する問題