如何在sqlalchemy表中克隆选定的约束?

时间:2018-06-13 20:51:07

标签: postgresql python-2.7 sqlalchemy

creating a temporary table from a query using sqlalchemy orm的启发我有类似的要求,但只需要PrimaryKey Constraint,并希望根据创建的新临时表添加ForeinKeyConstraint。

我通过检查约束是否为PrimaryKeyConstraint类型然后添加约束来添加外部约束

constraints = [c.copy() for c in table.constraints if isinstance(c,PrimaryKeyConstraint)]

这很好,但我想在两个新创建的表上创建外键约束。 我试过了

constraints.append(ForeignKeyConstraint(['id'],['schema2.temp_table1.id']))

并按照建议添加回表

 temp_table = Table(name, metadata, *(cols + constraints), schema=schema)

但是创建和插入数据需要很长时间。任何建议都会有所帮助。

0 个答案:

没有答案