Могут ли Аламбик автогенерировать изменения колонны?
Я смог использовать
alembic --autogenerate
для добавления/удаления столбцов.
Однако, когда я хотел изменить, например, столбец "url" от 200 символов до 2000 символов, он не обнаруживает изменения.
Как я могу сделать Alembic (используя SQLAlchemy), обнаруживать изменения и сценарии автогенерации для моей модели "размеров" различных столбцов и создавать команды "alter_column" для PostgreSQL?
Edit:
Почему автоматическая добавка alembic не добавляется:
op.alter_column('mytable', 'url', type_=sa.String(2000), existing_type=sa.String(length=200), nullable=True)
Ответы
Ответ 1
Похоже, я нашел ответ на reddit/r/flask.
http://www.reddit.com/r/flask/comments/1glejl/alembic_autogenerate_column_changes/cale9o0
Просто добавьте параметры compare_type = True в параметры context.configure() внутри вашей функции env.py "run_migrations_online".
context.configure(
connection=connection,
target_metadata=target_metadata,
compare_type=True
)