Revel 模型在models
包下定义;因此,为了导入它们,必须使用相对于%GOPATH/src文件夹的完整 repo 路径,在这种情况下project/app/models
会导致
import PROJECTNAME/app/models
到目前为止,如果您使用您的应用程序名称作为本地开发机器的文件夹名称并且只有 dev+prod 环境,那就太好了。
Heroku 的文档建议为不同的环境使用多个应用程序(即用于暂存)。具有不同来源的相同存储库;
这就是问题开始的地方,现在,由于暂存环境驻留在替代应用程序名上(比方说PROJECTNAME_STAGING
),它的源存储在PROJECTNAME_STAGING
但实际代码仍然import PROJECTNAME/app/models
不是import PROJECTNAME_STAGING/app/models
; 所以编译失败,等等。
是否有可能使用 revel 的 heroku buildpack管理具有单个本地 repo 和多个来源的多个环境?还是 buildpack 中需要一个尚未实现的功能?
此外,.godir
需要版本控制并包含应用程序的 git 路径的文件可能存在这个问题,那么关于该文件的多环境二元性呢?