我不是经验丰富的Rails开发人员,使用 MySQl v5.1开发 Rails v2.3 应用程序。
我不确定如何实现以下目标:
我需要创建:
1。新环境(除开发之外的新环境, 名为“特殊”环境的生产和测试环境
2。上面创建的特殊环境的新数据库环境,我所做的是在 config / database.yml
special:
adapter: mysql2
host: localhost
username:
database: special_db
encoding: latin1
3。 rake任务在特殊环境下运行,而rake任务中的代码只处理特殊数据库。
为实现这一目标,我知道我需要定义一些配置,但不确定:
配置以创建特殊环境&数据库?
(如上所述,我只在 database.yml 文件中定义了特殊数据库,但是在哪里以及如何为新版本定义和配置?)
如何在特殊环境下运行rake任务代码,并且只处理Rails中的特殊数据库。有人可以
P.S。
我需要在rake任务中运行所有内容,而不是从命令行运行。如何改变环境以及如何检查变化?
--------------找到原因,但不确定解决方案---------------------
好的,我发现这个有线问题的原因是因为mysql2
gem似乎无法加载新的“特殊”环境,如果我切换到使用{{1宝石,问题就会消失。但是由于其他原因,这个问题必须使用mysql2。如何摆脱这个mysql
问题?
答案 0 :(得分:1)
尝试以下方法:
将config / environments / development.rb复制到config / environments / special.rb
使用
创建数据库 $ RAILS_ENV=special rake db:create
$ RAILS_ENV=special rake db:migrate
$ RAILS_ENV=special rails s
答案 1 :(得分:0)
将它放入你的佣金任务:
RAILS_ENV = 'special'