2012-04-12 3 views
3

レコードの多くにフィールドstatusが0に設定されたデータが複数のテーブルにロードされています。 1.このような移行を書くことは可能ですか?Rails 3の "where"条件でデータを変更するための移行を作成できますか?

class UpdateStatusContent < ActiveRecord::Migration 
    def self.up 
    MiscDescription.where ["status = ?", 0].update ["status = ?", 1] 
    QuestionsBasic.where ["status = ?", 0].update ["status = ?", 1] 
    QuestionsStrength.where ["status = ?", 0].update ["status = ?", 1] 
    end 

    def self.down 
    end 
end 

私はMySQLで直接行うことができますが、移行を使用することをお勧めします。私は少し捜索して実験したが、うまくいくソリューションを見つけることができなかった。

ありがとうございました。

答えて

2

はい、可能です。ところで、あなたの英語は素晴らしいです、

+0

適切なアバター:(関連するユーザー入力がない場合["status = ?", 0]を、この構文を使用する必要はありません)と

MiscDescription.where("status = 0").update_all("status = 1") 

を:あなただけがupdateの代わりにupdate_allを使用する必要があります。ユーザーの入力に関する余分な入力も歓迎します。ありがとう。 – Jay

+1

PS。ヨロシクワンガシマス – Jay

+0

褒めてくれてありがとう!そしてあなたは歓迎します:-) – Mischa

関連する問題