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