Alembic自动生成迁移,没有检查约束

时间:2016-02-11 08:45:46

标签: python postgresql sqlalchemy migration alembic

我是alembic和sqlalchemy世界的新人 可以说我有模特:

class Model(Base):
    __tablename__ = 'models'
    id = Column(Integer, primary_key=True)
    value = Column(Integer, CheckContraint('value >= 0'))

如果我做alembic --config = development.ini revision --autogenerate -m“init” 我得到了例如

def upgrade():
    op.create_table('models',
        sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('value', sa.Integer())

在这里我想念create_check_constraint 我该如何自动完成,还是应该手动添加?我希望它能与postgresql一起使用

1 个答案:

答案 0 :(得分:2)

Alembic autogenerate目前不支持检查约束检测。

来自https://alembic.readthedocs.org/en/latest/autogenerate.html#what-does-autogenerate-detect-and-what-does-it-not-detect

  

目前无法自动生成,但最终会检测到:

     

一些独立的约束添加和删除,如CHECK,PRIMARY KEY - 这些都没有完全实现。

好像你需要手动完成,例如使用execute