Ruby on rails 单列轨道重置
我正在尝试实现一个rake任务,该任务将每月运行一次,以重置单个列。我更愿意将列重置为其默认值,但我找不到任何方法来帮助我完成此操作。重置列信息不起作用 重置活动记录中单个列的最有效方法是什么 Base method#update_都直接在数据库中进行更新,因此非常高效。但是,由于未加载模型,它会绕过回调: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_都直接在数据库中进行更新,因此非常高效。但是,由于未加载模型,它会绕过回调: 将其重置为默认值取决于您首先如何设置默认值。如果在模型中计算默认值,则必须选择并实例化所有记录,这可能会非常缓慢。如果它是在数据库中定义的,也许是可能的,但我认为它是特定于数据库的。如果你是
将其重置为默认值取决于您首先如何设置默认值。如果在模型中计算默认值,则必须选择并实例化所有记录,这可能会非常缓慢。如果它是在数据库中定义的,也许是可能的,但我认为它是特定于数据库的。如果你是硬核,你也可以在迁移中删除列,然后重新创建。有时候这会快得多。我不会在一个关键的应用程序中自动进行测试,但如果你在摆弄你自己的本地机器,只想快速测试东西,这可能会很有效
SomeModel.update_all("some_column = 4"); # sets all some_column attributes to 4