我有一个金字塔应用程序,它使用sqlalchemy和alembic进行数据库和迁移。我需要从我的模型类中删除默认说明符并向其添加一个alembic版本脚本。
以前它是这样的:
class TableOne(Base):
__tablename__ = "table_one"
id = Column(Integer, primary_key=True)
field_one = Column(Boolean(name='field_one_bool'), default=False)
我从field_one变量中删除了'default = False'并尝试运行:
alembic revision --autogenerate -m "remove default value for field_one"
生成了alembic版本脚本,但我在upgrade()和downgrade()方法中的所有内容都是:
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###
基本上,如果我从模型类中删除'default = False',我需要知道我应该在alembic脚本中做什么。
default
的Column
完全用Python处理,与server_default
形成鲜明对比。由于删除它对数据库没有影响,因此生成的迁移脚本为空。换句话说,在这种情况下您不需要迁移。