我的要求是生成一个 SQL 脚本并将该脚本上传到云存储。我正在使用 Alembic Command 生成 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)
我知道可以使用clialembic升级头--sql>migration.sql
最佳答案
API 似乎无法实现此目的。最后,我用 CLI 命令解决了。
upgrade = subprocess.run(['alembic', 'upgrade', upgrade_revision_range, '--sql'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
raw_sql = upgrade.stdout.decode('utf-8')
关于python - Alembic API 如何获取原始 SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66989330/