使用 ActiveRecord 进行高效的大量插入
一个小的 ActiveRecord 扩展,用于帮助在表中插入大量行 单个插入语句。
将其添加到您的 Gemfile 中:
gem 'bulk_insert'BulkInsert 为您的 ActiveRecord 模型添加了一种新的类方法:
class Book "paper"默认情况下,当块完成时,批处理总是会被保存,但您可以
可以在需要时明确地在块内保存,方法是调用
在工作程序上有 #save!:
Book.bulk_insert do |worker|
worker.add(...)
worker.add(...)
worker.save!
worker.add(...)
#...
end这将保存到该点定义的批次,然后 清空批次,以便您根据需要向其中添加更多行。请注意 所有一起保存的记录都具有相同的 created_at/updated_at timestamp(除非已明确设置)。
这不是默认值,因为对批处理中的不良插入记录不会引发错误。
暂无开放 Issues,或尚未同步最近议题。