构建应用程序,当我试图连接使用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的本地启动应用程序。我正在建造战争并在码头上运行它。
谁能告诉我,我缺少什么?
谢谢,这解决了这个问题。 – Kamil 2012-07-17 06:15:00