Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 单列轨道重置_Ruby On Rails_Ruby On Rails 3_Activerecord_Ruby On Rails 3.1 - Fatal编程技术网

Ruby on rails 单列轨道重置

Ruby on rails 单列轨道重置,ruby-on-rails,ruby-on-rails-3,activerecord,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Activerecord,Ruby On Rails 3.1,我正在尝试实现一个rake任务,该任务将每月运行一次,以重置单个列。我更愿意将列重置为其默认值,但我找不到任何方法来帮助我完成此操作。重置列信息不起作用 重置活动记录中单个列的最有效方法是什么 Base method#update_都直接在数据库中进行更新,因此非常高效。但是,由于未加载模型,它会绕过回调: 将其重置为默认值取决于您首先如何设置默认值。如果在模型中计算默认值,则必须选择并实例化所有记录,这可能会非常缓慢。如果它是在数据库中定义的,也许是可能的,但我认为它是特定于数据库的。如果你是

我正在尝试实现一个rake任务,该任务将每月运行一次,以重置单个列。我更愿意将列重置为其默认值,但我找不到任何方法来帮助我完成此操作。重置列信息不起作用

重置活动记录中单个列的最有效方法是什么

Base method#update_都直接在数据库中进行更新,因此非常高效。但是,由于未加载模型,它会绕过回调:


将其重置为默认值取决于您首先如何设置默认值。如果在模型中计算默认值,则必须选择并实例化所有记录,这可能会非常缓慢。如果它是在数据库中定义的,也许是可能的,但我认为它是特定于数据库的。

如果你是硬核,你也可以在迁移中删除列,然后重新创建。有时候这会快得多。我不会在一个关键的应用程序中自动进行测试,但如果你在摆弄你自己的本地机器,只想快速测试东西,这可能会很有效

SomeModel.update_all("some_column = 4");  # sets all some_column attributes to 4