【发布时间】:2014-09-11 23:21:32
【问题描述】:
我正在尝试将 Alembic 迁移作为 python 包分发的一部分。由于将安装此发行版,因此 Alembic 脚本目录(包含迁移)最终将被复制到 python 包文件夹中。在这种情况下,我如何告诉 Alembic 在哪里可以找到这个目录?
在 Alembic 文档中,它说可以在 config.ini 文件中指定 migration 目录作为包引用:
- script_location - 这是 Alembic 环境的位置。它通常被指定 作为文件系统位置,相对或绝对。如果位置是相对路径,它是 解释为相对于当前目录。
(截图)
为了支持将自身打包成 .egg 文件的应用程序, 该值也可以指定为包资源,在这种情况下 resource_filename() 用于查找文件(0.2.2 中的新功能)。任何 包含冒号的非绝对 URI 在这里被解释为 资源名称,而不是直接的文件名。
文档没有提供更多信息或示例。
有人成功实现了吗?您究竟是如何将migration scripting_folder 变成“包资源”的?那么你如何告诉 alembic 在哪里可以找到它呢?
【问题讨论】:
标签: python sqlalchemy alembic