Kyl*_*e C 3 activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
我正在尝试实现一个每月运行一次以重置单个列的rake任务.我宁愿将列重置为其默认值,但我找不到任何方法来帮助我完成此操作.reset_column_information不起作用
重置活动记录中单个列的最有效方法是什么?
基本方法#update_all直接在数据库中进行更新,因此非常有效.但它会绕过回调,因为未加载模型:http://apidock.com/rails/ActiveRecord/Base/update_all/class
SomeModel.update_all("some_column = 4"); # sets all some_column attributes to 4
Run Code Online (Sandbox Code Playgroud)
将其重置为默认值取决于您首先设置默认值的方式.如果在模型中计算默认值,则必须选择并实例化所有记录,这可能非常慢.如果它在数据库中定义,也许它是可能的,但我认为它将是特定于数据库的.
| 归档时间: |
|
| 查看次数: |
2768 次 |
| 最近记录: |