39

我正在用 alembic 编写迁移,但对我来说似乎不可能将 server_defaults 的值从某事更改为空。

我的代码:

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

如果我在迁移后检查,默认仍然是 NOW()

4

2 回答 2

59

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

op.alter_column('my_table', 'old_col_name', nullable=False, new_column_name='new_col_name')
于 2017-11-08T16:27:54.353 回答
16

这不是如何op.alter_column()工作的。传递关于要改变什么的参数,而不是一个新sa.Column实例。

op.alter_column('my_table', 'my_column', server_default=None)
于 2014-07-08T05:34:12.390 回答