到目前为止,我在SQLAlchemy中使用了以下语句来通过ALTER TABLE实现表继承:
inherit = "ALTER TABLE %(fullname)s INHERIT parent_table"
DDL(inherit, on='postgresql').execute_at("after-create", child_table)
现在在SQLAlchemy中已弃用,我对新方法有点困惑
DDLEvents
,DDLElement.execute_if()
,听众和一般事件。
在SQLAlchemy 0.7 +中创建和执行DDL()
构造的正确方法是什么?
答案 0 :(得分:2)
查看an example in documentation,您的代码可以重写为:
event.listen(child_table, "after-create", DDL(inherit).execute_if(dialect='postgresql'))