受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)
但是创建和插入数据需要很长时间。任何建议都会有所帮助。