首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云铸造- Rails 4 database.yml

云铸造- Rails 4 database.yml
EN

Stack Overflow用户
提问于 2016-03-12 07:54:23
回答 3查看 171关注 0票数 0

我正在尝试部署我的Rails 4应用程序,它使用mysql数据库。数据库托管在另一台服务器上。

对于如何配置我的database.yml文件,以及云铸造厂如何知道要使用哪个部分,我感到困惑。

部署后,加载应用程序时会出现此错误。

代码语言:javascript
复制
ActiveRecord::AdapterNotSpecified
'' database is not configured. Available: ["development"]

Rails.root: /home/vcap/app

如果然后刷新页面,您将得到:

代码语言:javascript
复制
NoMethodError
undefined method `default_timezone=' for #<Class:0x007fd7930ab0f0>

Rails.root: /home/vcap/app

我的database.yml是这样的

代码语言:javascript
复制
#local development
development:
  adapter: mysql2
  encoding: utf8
  host: hostname
  port: 3306
  database: appdb
  username: myapp
  password: 'password'
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test: &test
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000


production:
  adapter: mysql2
  encoding: utf8
  host: hostname
  port: 3306
  database: appdb
  username: myapp
  password: 'password'
  timeout: 5000
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-12 12:32:15

原来我在application.rb中需要这个:

ENV‘’DATABASE_URL‘= 'mysql2://username:password@hostname:3306/dbname’

票数 0
EN

Stack Overflow用户

发布于 2016-03-12 08:08:35

如果您在生产模式下运行rails应用程序。配置应该是这样的。

代码语言:javascript
复制
production:
  adapter: postgresql
  encoding: utf8
  database: rails_myapp
  username: rails_myapp_user
  password: pwd
  host: 128.199.233.36
  port: 5432
  pool: 10
票数 0
EN

Stack Overflow用户

发布于 2016-07-29 09:27:28

考虑将数据库url设置为CF中的环境变量:

cf set-env <app-name> DATABASE_URL 'mysql2://username:password@hostname:3306/dbname'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35955176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档