Alembic API 如何获取原始 SQL 脚本
Alembic API how to get raw SQL script
我的要求是生成一个 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
似乎 API 无法实现此目的。最后,我已经解决了 CLI 命令。
upgrade = subprocess.run(['alembic', 'upgrade', upgrade_revision_range, '--sql'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
raw_sql = upgrade.stdout.decode('utf-8')
我的要求是生成一个 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
似乎 API 无法实现此目的。最后,我已经解决了 CLI 命令。
upgrade = subprocess.run(['alembic', 'upgrade', upgrade_revision_range, '--sql'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
raw_sql = upgrade.stdout.decode('utf-8')