レールで私は新しいバリデーションルールに合わせて本番データを変更することが必要ですが、いくつかの問題がありますので2つの異なるマイグレーションがあります。他の検証が満たされないと、その逆データのマイグレーション中にバリデーションをバイパスしてバリデーションエラーを修正する
検証が
validates_uniqueness_of :job_id , :scope => [:day, :time, :user_id , :overtime, :comments] , :message => "Duplicate Entry, Please check your data"
validates_uniqueness_of :job_id , :scope => [:day, :user_id, :comments] , :message => "Has 2 Entires for same job on same day with same comment"
ようなモデルで新たに追加されましたので、1が失敗した)個別に実行することは、完全に 新しい、他のちょうどに24から変更された一種であります8とオーバータイムビットを追加
validates_numericality_of :time, :greater_than => 0, :less_than_or_equal_to => 8
validates_numericality_of :overtime, :greater_than_or_equal_to => 0, :less_than_or_equal_to => 16
私は移行を再注文しようとしましたが、私は逆の結果を得ました。
これを回避するには、データベースを最初に更新してからこのファイルを更新する以外の方法がありますか? それとも私は何をすべきか? Railsの2で
私はそれがいくつかの検証をバイパスするようにとにかくあると仮定します。ちょうどchekcing – loosecannon
それはobject.saveのために働きます!また – loosecannon
ここでは、ハッシュを使用する違いが重要です。最初のものはRails 2では動作しません。 –