根据文档,alembic的模板可以指定为alembic init --template pylons ./scripts
。但是,alembic只在其根目录(python_path/lib/python2.7/site-packages/alembic/templates
)中的一个文件夹中搜索模板。
有没有办法运行自定义模板?问题的想法 - 项目设置的自动化,例如避免任何手工更改(例如编辑env.py
文件)。
答案 0 :(得分:2)
正如我在Alembic来源中看到的那样,无法自定义模板目录位置。模板目录由Config.get_template_directory()获取,由list_templates()使用。
虽然您可以尝试使用monkey patch:
from alembic.config import Config
def get_template_directory(self):
return "my/custom/template/directory"
Config.get_template_directory = get_template_directory
# Invoke Alembic code
P.S。我想知道为什么Alembic不使用入口点来收集可用的模板。