Alembic+Sqlalchemy多列唯一约束

2024-10-01 17:35:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用sqlalchemy创建一个多列惟一约束,Alembic将在它的自动升级脚本生成器中获取该约束。在

我用以下方法创建了约束:

从我的模型中的sqlalchemyimport UniqueConstraint

UniqueConstraint('col1', 'col2', 'number', name='uix_table_col1_col2_col3')

但是,Alembic在自动脚本生成过程中并没有发现这一点。在

我可以在Alembic脚本中通过添加。在

^{pr2}$

有没有办法让Alembic自动生成?在

谢谢你的帮助。在


Tags: 方法name模型脚本numbersqlalchemy过程table
1条回答
网友
1楼 · 发布于 2024-10-01 17:35:42

我也遇到了同样的问题,并且发现如果您使用声明性模型定义表,那么可以将唯一约束添加到__table_args__中,Alembic会选择它:

class MyClass(Base):
    __tablename__ = 'table'
    __table_args__ = (
        UniqueConstraint('col1', 'col2', 'number', name='uix_table_col1_col2_col3'),
    )

http://docs.sqlalchemy.org/en/latest/orm/extensions/declarative/table_config.html

相关问题 更多 >

    热门问题