如何在SQLAlchemy 0.7+中重写弃用的DDL()语句

时间:2011-02-22 10:30:46

标签: python sqlalchemy

到目前为止,我在SQLAlchemy中使用了以下语句来通过ALTER TABLE实现表继承:

inherit = "ALTER TABLE %(fullname)s INHERIT parent_table"

DDL(inherit, on='postgresql').execute_at("after-create", child_table)

现在在SQLAlchemy中已弃用,我对新方法有点困惑 DDLEventsDDLElement.execute_if(),听众和一般事件。

在SQLAlchemy 0.7 +中创建和执行DDL()构造的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

查看an example in documentation,您的代码可以重写为:

event.listen(child_table, "after-create", DDL(inherit).execute_if(dialect='postgresql'))