【发布时间】:2012-03-26 14:53:54
【问题描述】:
我最近将一个相对较新的 rails 应用程序从 sqlite3 切换到 Amazon RDS,并将我的 database.yml 文件配置为仅在生产环境中使用 RDS 数据库。
但是现在,每当我尝试对我的数据库执行任何本地操作(例如 rails server、rails console、rake db:migrate 等)时,它都会对 Amazon 服务器上的生产数据库执行该操作,而不是我的本地 sqlite3 DB,这是我的开发数据库。
# database.yml
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: mysql2
host: mydb.mydbhost.us-east-1.rds.amazonaws.com
reconnect: false
database: mydb
username: myusername
password: mypassword
我做错了什么?
更新:这是我的 environment.rb 文件:
# environment.rb
# Load the rails application
require File.expand_path('../application', __FILE__)
# Heroku environment variables for local use
heroku_env = File.join(Rails.root, 'config', 'heroku_env.rb')
load(heroku_env) if File.exists?(heroku_env)
# Initialize the rails application
Myapp::Application.initialize!
【问题讨论】:
-
查看是否有一个名为 RAILS_ENV 的环境变量以及它是否被定义为生产环境变量。你可以打开一个 shell 并输入 echo $RAILS_ENV
-
不,没有 $RAILS_ENV 环境变量 :(
标签: ruby-on-rails database amazon-rds