从现有数据库 SQLAlchemy 获取 DDL
Posted
技术标签:
【中文标题】从现有数据库 SQLAlchemy 获取 DDL【英文标题】:Get DDL from existing databases SQLAlchemy 【发布时间】:2020-11-04 09:30:58 【问题描述】:我正在使用 SQLAlchemy 连接到 AWS Redshift 中的 postgresql 数据库进行一些数据处理,我需要提取特定 Schema 中每个表的 DDL 信息。我无法运行像pg_dump --schema-only
这样的任何命令。提取 DDL 的最简单方法是什么?
【问题讨论】:
【参考方案1】:您可以获取所有带有反射系统的表并打印每个表的CreateTable
构造:
from sqlalchemy.schema import MetaData
from sqlalchemy.schema import CreateTable
meta = MetaData()
meta.reflect(bind=engine)
for table in meta.sorted_tables:
print(CreateTable(table).compile(engine))
【讨论】:
有没有其他方法可以在不反映数据库的情况下做到这一点?看到这个问题:***.com/questions/64680802/…以上是关于从现有数据库 SQLAlchemy 获取 DDL的主要内容,如果未能解决你的问题,请参考以下文章