我正在开发一个 Ruby on Rails 应用程序。我最近更新到最后一个 Rails 版本(4.2.3),我发现当我运行rake test
它时会擦除我的开发数据库。我正在使用 Figaro gem 来声明我的所有环境变量。
这是我的 application.yml 文件:
#
# == Database
#
db_host : 'localhost'
db_username: 'root'
db_password: 'root'
development:
db_name: 'database-dev' # Not found by Figaro
test:
db_name: 'database-test' # Not found by Figaro
我的 database.yml 文件:
default: &default
adapter: mysql2
pool: 5
timeout: 5000
username: <%= Figaro.env.db_username %>
password: <%= Figaro.env.db_password %>
database: <%= Figaro.env.db_name %>
development:
<<: *default
test:
<<: *default
如果我把db_name
它放在development
钥匙下面,我会收到消息no database selected
,但如果我把它移到上层,它就会起作用。但是rake test
,也不使用test
密钥来加载数据库配置并删除我的开发数据。
以前运行的很完美,不明白哪里出了问题。谢谢你的帮助。
我的项目:
- 导轨 4.2.3
- 红宝石 2.2.2
- 费加罗 1.1.1