耙子流产了!无法将nil转换为Hash

时间:2014-07-18 14:31:44

标签: ruby-on-rails ruby openshift

耙子流产了!无法加载Rails.application.database_configuration:无法将nil转换为哈希

我正在尝试在openshift上的rails上部署ruby,然后我尝试运行rake db:migrate。然后我面对这个问题。

我在openshift上使用https://github.com/kohjx/TestYourCode.git创建应用程序,使用ruby on rails + mysql 5.1

然后我配置config / database.yml

default: &default
  #adapter: sqlite3
  adapter: mysql2
  pool: 5
  timeout: 5000
  database: "<%=ENV['OPENSHIFT_APP_NAME']%>"
  username: "<%=ENV['OPENSHIFT_MYSQL_DB_USERNAME']%>"
  password: "<%=ENV['OPENSHIFT_MYSQL_DB_PASSWORD']%>"
  host:     <%=ENV['OPENSHIFT_MYSQL_DB_HOST']%>
  port:     <%=ENV['OPENSHIFT_MYSQL_DB_PORT']%>



development:
  <<: *default
  #database: db/development.sqlite3

test:
  <<: *default
  #database: db/test.sqlite3
  database: testyourcode_test

production:
  <<: *default
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
  #database: db/production.sqlite3

我设置了RAILS_ENV =开发,但我无法弄清楚如何解决。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

乍一看,您似乎正在使用Openshift DB作为默认设置,然后所有Rails环境都使用该默认设置。您的本地计算机(我假设您正在运行rake db:migrate)无法将这些连接详细信息用于OPenshift数据库。

不要在默认部分中使用Openshift DB配置,而是将其下移到生产设置,并使用rhc set-env RAILS_ENV=production切换RAILS_ENV = production。然后使用localmachine可以使用的设置配置开发。完成所有操作后,尝试再次运行db:migrate。