如何删除模型中的默认值并添加 alembic 版本?
How to remove default value in model and add alembic version?
我有一个金字塔应用程序,它使用 sqlalchemy 和 alembic 进行数据库和迁移。我需要从我的模型 class 中删除默认说明符并向其添加一个 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 ###
基本上,我需要知道如果我从模型 class.
中删除 'default=False' 我应该在 alembic 脚本中做什么
default
of Column
is handled entirely in Python, in contrast with server_default
。由于删除它对数据库没有影响,因此生成的迁移脚本是空的。换句话说,在这种情况下您不需要迁移。
如果您像我一样想要删除 server_default
并最终访问此页面,则函数为 alter_column(table_name, column_name, server_default=None)
。
我有一个金字塔应用程序,它使用 sqlalchemy 和 alembic 进行数据库和迁移。我需要从我的模型 class 中删除默认说明符并向其添加一个 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 ###
基本上,我需要知道如果我从模型 class.
中删除 'default=False' 我应该在 alembic 脚本中做什么default
of Column
is handled entirely in Python, in contrast with server_default
。由于删除它对数据库没有影响,因此生成的迁移脚本是空的。换句话说,在这种情况下您不需要迁移。
如果您像我一样想要删除 server_default
并最终访问此页面,则函数为 alter_column(table_name, column_name, server_default=None)
。