mdh*_*mdh 10 python postgresql sqlalchemy
我需要删除具有外键约束和要求的PostgreSQL数据库中的表DROP TABLE ... CASCADE.
我可以执行原始SQL : engine.execute("DROP TABLE %s CASCADE;" % table.name). 但是,我想实现这种行为,以便我可以table.drop(engine)为postgresql方言做.
怎么会接近这个?
uni*_*rio 20
您可以自定义这样的构造的编译:
from sqlalchemy.schema import DropTable
from sqlalchemy.ext.compiler import compiles
@compiles(DropTable, "postgresql")
def _compile_drop_table(element, compiler, **kwargs):
return compiler.visit_drop_table(element) + " CASCADE"
Run Code Online (Sandbox Code Playgroud)
这附加CASCADE于DROP TABLE为postgresql方言发布的声明,同时保持所有其他方言相同.
| 归档时间: |
|
| 查看次数: |
4340 次 |
| 最近记录: |