私はalembicで移行を書いていますが、server_defaultsの値を何かから何も変更することは不可能のようです。
私のコード:
op.alter_column("foo", sa.Column("bar", sa.DateTime(timezone=False), server_default=None, nullable=True))
移行後に確認した場合、デフォルトはまだNOW()です
Alembic 0.9.5の時点で列の名前を変更するには、次のように移行を変更する必要がありました。
op.alter_column('my_table', 'old_col_name', nullable=False, new_column_name='new_col_name')
それはop.alter_column()
がどのように機能するかではありません。新しいsa.Column
インスタンスではなく、何を変更するかについての引数を渡します。
op.alter_column('my_table', 'my_column', server_default=None)