在Rails中创建一个新环境

时间:2011-11-25 08:58:26

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我不是经验丰富的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任务中的代码只处理特殊数据库。

为实现这一目标,我知道我需要定义一些配置,但不确定:

  1. 配置以创建特殊环境&数据库?

    (如上所述,我只在 database.yml 文件中定义了特殊数据库,但是在哪里以及如何为新版本定义和配置?)

  2. 如何在特殊环境下运行rake任务代码,并且只处理Rails中的特殊数据库。有人可以

  3. P.S。

    我需要在rake任务中运行所有内容,而不是从命令行运行。如何改变环境以及如何检查变化?

    --------------找到原因,但不确定解决方案---------------------

    好的,我发现这个有线问题的原因是因为mysql2 gem似乎无法加载新的“特殊”环境,如果我切换到使用{{1宝石,问题就会消失。但是由于其他原因,这个问题必须使用mysql2。如何摆脱这个mysql问题?

2 个答案:

答案 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'