【发布时间】:2017-06-07 15:46:49
【问题描述】:
由于我们数据库中的一些怪癖,我们需要在创建后重新分配表所有者。目前我们利用 Alembic - 有没有人有一种简单的方法来创建某种在迁移后运行某些 SQL 命令的 post hook?
【问题讨论】:
由于我们数据库中的一些怪癖,我们需要在创建后重新分配表所有者。目前我们利用 Alembic - 有没有人有一种简单的方法来创建某种在迁移后运行某些 SQL 命令的 post hook?
【问题讨论】:
听起来您的要求可以通过编辑 alembic 的 env.py 文件来解决。来自the docs(强调我的):
env.py - env.py 脚本是生成环境的一部分,因此 迁移运行是完全可定制的。如何的具体细节 连接在这里,以及如何迁移的细节 环境被调用。可以修改脚本,以便多个 引擎可以操作,自定义参数可以传递到 迁移环境、特定于应用程序的库和模型可以 被加载并可用。
我敢打赌,您可以通过在run_migrations_online() 中添加调用来获得您想要的行为。
(假设您希望在每次迁移后运行 post_hook。如果是特定于迁移,您可以在生成的迁移文件中更新 upgrade() 函数)
【讨论】: