【问题标题】:Alembic API how to get raw SQL scriptAlembic API 如何获取原始 SQL 脚本
【发布时间】:2021-07-03 10:59:51
【问题描述】:

我的要求是生成一个 SQL 脚本并将该脚本上传到云存储。我正在使用 Alembic 命令生成 SQL 脚本。

command.upgrade(alembic_cfg, revision='a:b', sql=True)

command.upgrade 函数将 SQL 脚本打印到控制台。如果有多个修订版,则将有多个 INFO 日志。

有没有办法将原始 SQL 脚本存储到变量中?

raw_sql = command.upgrade(alembic_cfg, revision='a:b', sql=True)
upload_script(raw_sql)

我知道可以使用cli alembic upgrade head --sql > migration.sql

【问题讨论】:

    标签: python sqlalchemy alembic


    【解决方案1】:

    似乎 API 无法实现这一点。最后,我用 CLI 命令解决了。

    upgrade = subprocess.run(['alembic', 'upgrade', upgrade_revision_range, '--sql'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    raw_sql = upgrade.stdout.decode('utf-8')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      相关资源
      最近更新 更多