我的构建脚本必须有一个部分:
flyway {
url = System.getenv('JDBC_DATABASE_URL')
user = System.getenv('JDBC_DATABASE_USERNAME')
password = System.getenv('JDBC_DATABASE_PASSWORD')
}
问题是当我运行
时,这些环境变量是可见的heroku run printenv --remote staging | grep JDBC
它们在gradle构建脚本中为null,其中定义了 stage 任务。
这是什么原因?如何解决这个问题?
答案 0 :(得分:0)
这些变量在部署期间似乎不可用,但您可以从环境变量DATABASE_URL获取数据。
robert_difalco在ng2-translate中展示了一个例子:
URI dbUri = new URI(System.getenv("DATABASE_URL")); String username = dbUri.getUserInfo().split(":")[0]; String password = dbUri.getUserInfo().split(":")[1]; int port = dbUri.getPort(); String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ":" + port + dbUri.getPath();