如何在alembic中使用alter_column?

时间:2014-03-24 01:03:09

标签: python sqlalchemy alembic

我正在使用alembic编写迁移,但似乎无法将server_defaults的值从某些内容更改为无效。

我的代码:

op.alter_column("foo", sa.Column("bar", sa.DateTime(timezone=False), server_default=None, nullable=True))

如果我在迁移后检查,则默认值仍为NOW()

2 个答案:

答案 0 :(得分:11)

要从Alembic 0.9.5重命名列,我必须将我的迁移更改为如下所示:

op.alter_column('my_table', 'old_col_name', nullable=False, new_column_name='new_col_name')

答案 1 :(得分:6)

这不是op.alter_column()的工作方式。传递关于要更改的内容的参数,而不是新的sa.Column实例。

op.alter_column('my_table', 'my_column', server_default=None)