我刚刚通过以下文档将我的Grails应用程序部署到Heroku上。https://devcenter.heroku.com/articles/getting-started-with-grails#prerequisites
在部署之前,我创建了一个开发数据库,并将URL详细信息插入到DataSource.groovy
的生产部分
production {
dataSource {
dbCreate = "update"
//url = "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
//url = "jdbc:postgresql://localhost:5432/myapp"
uri = new URI(System.env.DATABASE_URL?:"postgres://myuser:mypassword@someAWSmachine:5432/myapp")
url = "jdbc:postgresql://" + uri.host + ":" + uri.port + uri.path
username = uri.userInfo.split(":")[0]
password = uri.userInfo.split(":")[1]
然而,当我部署我的应用程序时,它创建了另一个dev数据库并将此新数据库的URL信息设置为
Settings
- > Config Variables
- > DATABASE_URL
某种程度上我的应用运行并使用这个新创建的数据库及其设置,我的问题是如何?为什么我的应用程序无法运行,我在DataSource.groovy
配置了不同的数据库URL?
答案 0 :(得分:0)
Woops ......我第一次看到它时,我并没有完全消化这条线
uri = new URI(System.env.DATABASE_URL?:"postgres://myuser:mypassword@someAWSmachine:5432/myapp")
请注意System.env.DATABASE_URL?
三元运算符。
我会把这个问题留给其他人