Grails - Heroku不使用DataSource.groovy

时间:2015-07-07 20:21:52

标签: postgresql grails heroku

我刚刚通过以下文档将我的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?

1 个答案:

答案 0 :(得分:0)

Woops ......我第一次看到它时,我并没有完全消化这条线

uri = new URI(System.env.DATABASE_URL?:"postgres://myuser:mypassword@someAWSmachine:5432/myapp")

请注意System.env.DATABASE_URL?三元运算符。

我会把这个问题留给其他人