如何在alembic初始化期间使用自定义模板

时间:2014-02-02 07:46:09

标签: python sqlalchemy alembic

根据文档,alembic的模板可以指定为alembic init --template pylons ./scripts。但是,alembic只在其根目录(python_path/lib/python2.7/site-packages/alembic/templates)中的一个文件夹中搜索模板。

有没有办法运行自定义模板?问题的想法 - 项目设置的自动化,例如避免任何手工更改(例如编辑env.py文件)。

1 个答案:

答案 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不使用入口点来收集可用的模板。