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 =开发,但我无法弄清楚如何解决。任何帮助将不胜感激!
答案 0 :(得分:0)
乍一看,您似乎正在使用Openshift DB作为默认设置,然后所有Rails环境都使用该默认设置。您的本地计算机(我假设您正在运行rake db:migrate
)无法将这些连接详细信息用于OPenshift数据库。
不要在默认部分中使用Openshift DB配置,而是将其下移到生产设置,并使用rhc set-env RAILS_ENV=production
切换RAILS_ENV = production。然后使用localmachine可以使用的设置配置开发。完成所有操作后,尝试再次运行db:migrate。