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

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


当年话下
浏览 158回答 1
1回答

慕容708150

该default的Column是在Python完全处理,与此相反server_default。由于删除它对数据库没有影响,因此生成的迁移脚本为空。换句话说,在这种情况下您不需要迁移。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go