2012-07-16 59 views
1

構建應用程序,當我試圖連接使用Grails教程我的應用程序共享數據庫5MB失蹤DATABASE_URL。我正在使用grails 2.1.0。在我的本地機器上,當我運行的Heroku的配置,我可以看到DATABASE_URL設置,但在執行git的推後......我的體型出現錯誤而終止:Heroku的+ Grails的 - 在Heroku

Error packaging application: Error loading DataSource.groovy: null (Use --stacktrace to see the full trace) 
Failed to build app 
Heroku push rejected, failed to compile Grails app 

所以我添加日誌,看看環境怎麼看起來Heroku的。我已經添加的println System.env到DataSource.groovy的,我無法找到任何DATABASE_URL:

heroku addons 
=== XXX Configured Add-ons 
shared-database:5mb 

當:

.[OLDPWD:/app/tmp/repo.git/.cache, SHELL:/bin/bash, SHLVL:2, GIT_DIR:., JAVA_HOME:/usr/lib/jvm/java-6-openjdk, PATH:/app/tmp/repo.git/.cache/.grails/bin::/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin, SSH_CLIENT:XXX, MAIL:XXX, USER:XXX, LOG_TOKEN:t.9e79a5be-dfa2-446e-9f83-f6b4ebbc4eb7, GRAILS_HOME:/app/tmp/repo.git/.cache/.grails, PWD:XXX, HOME:/app/, LOGNAME:u11846, _:/app/tmp/repo.git/.cache/.grails/bin/grails, SSH_CONNECTION:XXX, LD_LIBRARY_PATH:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64] 

我已經與我的應用程序安裝共享數據庫的Heroku插件檢查我執行Heroku的配置

heroku config 
=== Config Vars for XXX 

DATABASE_URL:  postgres://XXX 
JAVA_OPTS:   -Xmx384m -Xss512k -XX:+UseCompressedOops 
SHARED_DATABASE_URL: postgres://XXX 

DataSource.groovy的:

production { 
    dataSource { 
     dbCreate = "update" 
     driverClassName = "org.postgresql.Driver" 
     dialect = org.hibernate.dialect.PostgreSQLDialect 

     println System.env 
     println System.env.DATABASE_URL 
     uri = new URI(System.env.DATABASE_URL) 
     println uri 

     url = "jdbc:postgresql://" + uri.host + uri.path 
     username = uri.userInfo.split(":")[0] 
     password = uri.userInfo.split(":")[1] 
    } 
} 

在BuildConfig.groovy我已經添加

runtime 'postgresql:postgresql:8.4-702.jdbc3' 

我可以DATABASE_URL設置爲本地PostgreSQL的本地啓動應用程序。我正在建造戰爭並在碼頭上運行它。

誰能告訴我,我缺少什麼?

回答

3

的應用環境變量不可用在構建時。你的代碼需要能夠相應地處理。或者,您可以啓用新的Heroku user_env_compile Labs功能,做使環境變量在構建時在那裏:https://devcenter.heroku.com/articles/labs-user-env-compile

+0

謝謝,這解決了這個問題。 – Kamil 2012-07-17 06:15:00