ruby-on-rails – 在仅数据迁移期间绕过验证以修复验证错误

栏目: Ruby · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/4964184/bypass-validations-during-a-data-only-migration-to-fix-validation-errors

在rails我有移植来改变生产数据以适应新的验证规则,有几个错误,所以我有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"

是一种全新的

而另一个刚刚从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中:

object.save(false)

在Rails 3& 4:

object.save(:validate => false)

这些方法将绕过对象的任何和所有验证,所以要小心!

翻译自:https://stackoverflow.com/questions/4964184/bypass-validations-during-a-data-only-migration-to-fix-validation-errors


以上所述就是小编给大家介绍的《ruby-on-rails – 在仅数据迁移期间绕过验证以修复验证错误》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

实战Linux编程精髓

实战Linux编程精髓

罗宾斯 / 中国电力出版社 / 2005-7 / 59.80元

编写应用软件,特别是那些比较重要的软件,毫无疑问要涉及到系统调用。在UNIX/Linux环境下编程更是如此。要想编写优秀的软件,就必须熟悉这些系统调用的方方面面。通过阅读这本书,你能够快速地掌握这些重要技术,以构建严谨的Linux软件。全书主要分为三大部分:第一部分讨论了基本的编程问题,包括Linux编程环境、基本的文件和进程管理与操作、内存操作,还介绍了一些基本的库接口。第二部分比较深入地讨论了......一起来看看 《实战Linux编程精髓》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具