python - postgres - flask sqlalchemy
¿Pueden las alteraciones de la columna de Alembic Autogenerate? (1)
Pude usar el alembic --autogenerate
para agregar / eliminar columnas.
Sin embargo, cuando quise modificar, por ejemplo, una columna "url" de 200 a 2000 caracteres, no se detecta el cambio.
¿Cómo puedo hacer Alembic (usando SQLAlchemy), detectar cambios y generar automáticamente scripts a los "tamaños" de mi modelo de varias columnas y crear comandos "alter_column" para PostgreSQL?
Editar:
¿Por qué no se agrega automáticamente Alambique?
op.alter_column(''mytable'', ''url'', type_=sa.String(2000), existing_type=sa.String(length=200), nullable=True)
Parece que encontré la respuesta en el / r / matraz de reddit.
http://www.reddit.com/r/flask/comments/1glejl/alembic_autogenerate_column_changes/cale9o0
Simplemente agregue "compare_type = True" a los parámetros context.configure () dentro de la función "run_migrations_online" de su env.py.
context.configure(
connection=connection,
target_metadata=target_metadata,
compare_type=True
)