gem 'activerecord-import'
Railsアプリケーションでの一括インポートに使用しています。次のようなサンプルコードがあります。
articles = []
10000.times do |i|
articles << Article.new(:name => "Article #{i}")
end
Article.import articles
このコードでは、数秒で 10000 件の新しいレコードをインポートしています。しかし、次のような記事のコメントを大量に作成している場合:
comments = []
@article= Article.find(1)
10000.times do |i|
comments << @article.comments.find_or_create_by(:name => "comment #{i}")
end
Comment.import comments
上記のコードを実行すると、配列にプッシュされることなく、ループ内にコメントが作成されます。作成前にすべてのコメントを配列にプッシュするにはどうすればよいですか。助けてください。