mysql - 在 ruby on rails 的一个查询中更新多条记录
问题描述
假设我有一个这样的哈希数组
users_ar = [
{
id: 1,
name: 'Luke',
age: 19
},
{
id: 2,
name: 'Vader',
age: 44
},
{
id: 3,
name: 'Yoda',
age: 129
}
]
id 是他们在 User 模型中的 id。
如果我有数千条记录要更新,出于性能原因,如何在 ruby on rails 中一次更新所有记录(如果我不需要验证记录)?
我想按 id 查找现有记录并更新名称和年龄。我正在寻找这样的东西:
users_to_update.update_all(users_ar)
我的 Rails 版本是 5.2.3,我正在使用 MySQL。
谢谢, 安德烈亚斯
解决方案
activerecord-import
如果您希望进行具有良好性能的大批量更新,gem 可能是您所需要的:https ://github.com/zdennis/activerecord-import
推荐阅读
- ios - Swift & Firebase - 添加更多“标题”
- reactjs - 将值传递给父组件时,Formik Form 内的按钮 onClick 不会产生预期值
- ruby-on-rails - 如何将常量初始化为 postgresql 表中已经存在的 object_id?
- asp.net-core - 如何为我的 API 定义两种访问令牌的策略,一种具有身份(子),一种没有身份?
- python - 如何在 Python 中打印出具有布尔值的列表中的字典?
- google-app-engine - Go 1.12 中有 appengine/user 的替代品吗?
- git - 无需提交即可从 repo 创建 git 存档
- angular - 按顺序调用服务并使用结果中的参数
- gradle - 链式 Gradle 任务无法读取上一个任务生成的文件
- c++ - 矢量擦除功能无法正常工作