由于我们数据库中的一些怪癖,我们需要在创建后重新分配表所有者。目前我们利用Alembic - 有没有人有一种简单的方法来创建某种在迁移后运行某些SQL命令的post hook?
答案 0 :(得分:0)
听起来你可以通过编辑alembic的env.py文件来解决这个问题。来自the docs(强调我的):
env.py - env.py脚本是生成环境的一部分,因此的方式 迁移运行完全可自定义。具体细节如何 connect在这里,以及迁移的具体细节 调用环境。可以修改脚本以便多个 可以对引擎进行操作,可以将自定义参数传递给 迁移环境,特定于应用程序的库和模型都可以 加载并提供。
我打赌你可以通过在run_migrations_online()
中添加电话来获得所需的行为。
(假设您希望在EACH迁移后运行post_hook。如果是特定于迁移,您可以更新生成的迁移文件中的upgrade()
函数)