例如,考虑一下这个表:
CREATE table reservation (during tsrange,EXCLUDE USING gist (during WITH &&));
排除约束似乎不属于alembic中可用的约束类型.
由于sqlAlchemy支持ExcludeConstraints
from sqlalchemy.dialects.postgresql import ExcludeConstraint,TSRANGEclass RoomBooking(Base): __tablename__ = 'room_booking' room = Column(Integer(),primary_key=True) during = Column(TSRANGE()) __table_args__ = ( ExcludeConstraint(('room','='),('during','&&')),)
但是alembic似乎没有认出它们,我想知道是否还有其他方法可以在我的架构修订历史中反映这种排除约束.
解决方法 陷入同样的问题.在alembic中的解决方案:您需要在脚本顶部导入排除约束:
from sqlalchemy.dialects.postgresql import ExcludeConstraintop.create_table('mission_event_schedule',sa.Column('ID',sa.Integer(),nullable=False),sa.Column('ts_range',postgresql.TSTZRANGE(),nullable=True),sa.PrimaryKeyConstraint('ID'),ExcludeConstraint(('ts_range','&&')) )总结
以上是内存溢出为你收集整理的postgresql – 如何在alembic中使用postgres排除约束全部内容,希望文章能够帮你解决postgresql – 如何在alembic中使用postgres排除约束所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)