如何删除模型中的默认值并添加alembic版本?

问题描述 投票:0回答:1

我有一个金字塔应用程序,它使用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脚本中做什么。

python orm sqlalchemy pyramid alembic
1个回答
3
投票

defaultColumn完全用Python处理,与server_default形成鲜明对比。由于删除它对数据库没有影响,因此生成的迁移脚本为空。换句话说,在这种情况下您不需要迁移。

© www.soinside.com 2019 - 2024. All rights reserved.