2011-11-25 4 views
6

私は経験豊かなRails開発者ではなく、Rails v2.3アプリケーションをMySQl v5.1で開発しています。Railsで新しい環境を作成する

私は、次のことを達成する方法がわからないです:

私が作成する必要があります。

1.新しい環境(つまり開発以外に新しい環境だ、 生産試験環境)、「特別」環境

2.上記で作成した特別環境のための新たなデータベース環境では、私がやったことは/ 設定で、次のものを追加してdatabase.ymlの

special: 
    adapter: mysql2 
    host: localhost 
    username: 
    database: special_db 
    encoding: latin1 

3.rakeタスクです特別な環境下で実行すると、レーキタスクのコードは特別なデータベースのみを処理します。

これを実現するために、私はいくつかの構成を定義する必要があります知っているが、わからない:

  1. は何/どのように正確に特別環境&データベースを作成するために設定するために必要とされていますか?熊手を実行する方法

    (あなたは上で見たように、私は唯一のdatabase.ymlのファイル内特別データベースを定義しますが、&新しいenverionmentに定義し、設定する方法どこ?)

  2. タスクコードを特別な環境下に置き、Railsの特別なデータベースのみを扱います。誰かが喜んでくれますか?

P.S.

コマンドラインではなくrakeタスクですべてを実行する必要があります。どのように環境を変え、その変更をチェックするか?

--------------理由は見つかりましたが、解決策がわからない---------------------

私がmysql宝石を使用するように切り替えると、新しい "特別な"環境をロードできないように思われるmysql2の宝石のため、この有線の問題の理由がわかりました、問題はなくなります。しかし、この問題はいくつかの理由でmysql2を使用しなければなりません。このmysql2の問題を取り除くにはどうすればよいですか?

答えて

1

次のことを試してみてください。

コピー設定/環境/ development.rb設定/環境/ special.rb

$ RAILS_ENV=special rake db:create 
$ RAILS_ENV=special rake db:migrate 
$ RAILS_ENV=special rails s 
+0

@ map7、代わりにrakeタスクで上記のものを実行する方法コマンドラインから実行していますか? rakeタスクで実行する環境を指定する特別な方法はありますか? – Mellon

+1

さらに、 "RAILS_ENV = special rake db:create"コマンドラインを実行しても、sepcialデータベースは作成されません。 – Mellon

0

を使用してデータベースを作成し、あなたのrakeタスクにこれを入れて:

RAILS_ENV = 'special' 
+0

これを追加して、現在の環境をコード "pで置き換えようとしました。" ENV ['RAILS_ENV' ] "、私は何も持っていない... – Mellon

関連する問題