相关疑难解决方法(0)

在Rails迁移中将一列更新为另一列的值

我在Rails应用程序中有一个包含数十万条记录的表,它们只有一个created_at时间戳.我正在添加编辑这些记录的功能,所以我想updated_at在表格中添加一个时间戳.在我的迁移中添加列,我想更新所有行以使新updated_at匹配旧created_at,因为这是Rails中新创建的行的默认值.我可以做一个find(:all)并遍历记录,但由于表的大小,这需要几个小时.我真正想做的是:

UPDATE table_name SET updated_at = created_at;
Run Code Online (Sandbox Code Playgroud)

在使用ActiveRecord而不是执行原始SQL的Rails迁移中有更好的方法吗?

migration activerecord timestamp ruby-on-rails

69
推荐指数
4
解决办法
4万
查看次数