【问题标题】:Get DDL from existing databases SQLAlchemy从现有数据库 SQLAlchemy 获取 DDL
【发布时间】:2020-11-04 09:30:58
【问题描述】:

我正在使用 SQLAlchemy 连接到 AWS Redshift 中的 postgresql 数据库进行一些数据处理,我需要提取特定 Schema 中每个表的 DDL 信息。我无法运行像pg_dump --schema-only 这样的任何命令。提取 DDL 的最简单方法是什么?

【问题讨论】:

    标签: python-3.x sqlalchemy amazon-redshift


    【解决方案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))
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 2020-03-10
    • 2022-01-15
    • 1970-01-01
    • 2017-07-23
    相关资源
    最近更新 更多