在Rails中创建一个新环境

Mel*_*lon 6 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
Run Code Online (Sandbox Code Playgroud)

3.特殊环境下运行的rake任务和rake任务中的代码仅处理特殊数据库.

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

  1. 配置创建特殊环境和数据库需要什么/如何确切?

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

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

PS

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

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

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

map*_*ap7 2

请尝试以下操作:

将 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
Run Code Online (Sandbox Code Playgroud)