加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为Grails的Openshift配置DataSource.groovy

发布时间:2020-12-14 16:22:58 所属栏目:大数据 来源:网络整理
导读:我正在尝试在Openshift上部署Grails应用程序. 我正在使用本地构建的war文件部署应用程序. 现在,我使用DataSource.groovy文件中的rhc-app-show命令给出的url作为我的数据库配置. 每当我尝试使用Openshift的环境变量(例如$OPENSHIFT_MYSQL_DB_HOST)时,它都会崩
我正在尝试在Openshift上部署Grails应用程序.
我正在使用本地构建的war文件部署应用程序.
现在,我使用DataSource.groovy文件中的rhc-app-show命令给出的url作为我的数据库配置.
每当我尝试使用Openshift的环境变量(例如$OPENSHIFT_MYSQL_DB_HOST)时,它都会崩溃.有关如何在配置文件中使用它们的任何想法或指示?

谢谢.

解决方法

我还没有使用过OpenShift,但Google引导我到 FAQ,它显示了这些环境变量:

OPENSHIFT_MYSQL_DB_HOST
OPENSHIFT_MYSQL_DB_PASSWORD
OPENSHIFT_MYSQL_DB_USERNAME
OPENSHIFT_MYSQL_DB_URL
OPENSHIFT_MYSQL_DB_PORT

所以看起来这样可行:

production {
   dataSource {
      driverClassName = 'com.mysql.jdbc.Driver'
      dialect = org.hibernate.dialect.MySQL5InnoDBDialect

      String host = System.getenv('OPENSHIFT_MYSQL_DB_HOST')
      String port = System.getenv('OPENSHIFT_MYSQL_DB_PORT')
      String dbName = System.getenv('OPENSHIFT_APP_NAME')
      url = "jdbc:mysql://$host:$port/$dbName"
      username = System.getenv('OPENSHIFT_MYSQL_DB_USERNAME')
      password = System.getenv('OPENSHIFT_MYSQL_DB_PASSWORD')

      properties {
         ...
      }
   }
}

丢失的位是数据库名称 – 这是你可以使用的东西吗?我不确定OPENSHIFT_MYSQL_DB_URL的格式,但看起来你可能只能使用url =“jdbc:${System.getenv(‘OPENSHIFT_MYSQL_DB_URL’)}”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读