【发布时间】:2016-06-23 12:38:13
【问题描述】:
我正在尝试对 MySQL DB 表执行一对父/子模型的bulk insert,但似乎我无法使用标准的 ActiveRecord 功能来做到这一点。
所以,我尝试了 activerecord-import gem,但它也不支持 MySQL 的递归插入......
# Book has_many authors / Author belongs to Book
books = []
10000.times do |i|
book = Book.new(:name => "book #{i}")
book.author.build(:name => "author #{i}")
books << book
end
Book.import books, recursive: true # THIS DOES NOT WORK
我也尝试使用原始 SQL 来实现它,但我无法找到一种方法来保留每个父/子的引用,因为在我想插入子数据时,它的父没有它的 id还没有。
有谁知道我该如何解决这个问题?
【问题讨论】:
-
批量插入意味着什么?您希望数据库对所有这些数据进行一次插入,还是全部由它自己处理插入,不管它死了多少查询?
-
我只想创建一个 INSERT 语句。像 INSERT INTO *** VALUES (), (), ......(10000 Times)
标签: mysql ruby-on-rails activerecord