【发布时间】:2020-09-24 11:29:09
【问题描述】:
在维护 SQLAlchemy 数据模型并利用 alembic 进行版本控制时,我所做的以下代码更改导致了空修订:
some_column = Column(Boolean, nullable=False, default=False)
以前是:
some_column = Column(Boolean, nullable=False)
因此,添加默认值不会在 alembic 中产生任何变化,即生成一个空修订。我尝试了 SQLAlchemy 提供的其他值,例如 false() 和 expression.false() 而不是 False,但结果是相同的(空 alembic 修订版)。还尝试了server_default 而不是default。有问题的数据库是 PostgreSQL。
通过空修订,当然我的意思是 alembic 无法识别 SQLAlchemy 中所做的任何更改:
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 ###
感谢您在这方面的任何帮助。
【问题讨论】:
标签: python database postgresql sqlalchemy alembic