12/08/2018, 14:16
Activerecord Import Gem
Activerecord là một gem dùng để import nhiều bản ghi cùng một lúc vào cơ sở dữ liệu. Cài đặt gem gem 'activerecord-import', '~> 0.10.0' Yêu cầu Đối với rails 5.0 cần sử dụng version 0.11.0 hoặc cao hơn Đối với rails 4.0 cần sử dụng activerecord-import 0.4.0 hoặc cao hơn ...
Activerecord là một gem dùng để import nhiều bản ghi cùng một lúc vào cơ sở dữ liệu.
-
Cài đặt gem
gem 'activerecord-import', '~> 0.10.0'
-
Yêu cầu
Đối với rails 5.0 cần sử dụng version 0.11.0 hoặc cao hơn
Đối với rails 4.0 cần sử dụng activerecord-import 0.4.0 hoặc cao hơn
Rails 3.2.x trở lên, trừ 4.0 dùng activerecord-import 0.3.0 hoặc hơn
-
Cài đặt sử dụng
Ta có
model User.rb class User < ApplicationRecord has_many :user_functions, dependent: :destroy has_many :functions, through: :user_functions Model Function.rb class Function < ApplicationRecord has_many :user_functions, dependent: :destroy has_many :users, through: :user_functions end Model UserFunction.rb class UserFunction < ApplicationRecord belongs_to :user belongs_to :function end
Để lưu tất cả các userfunction của 1 user ta dùng activerecord-import như sau:
puts "create function for trainers" trainers = [] Trainer.all.each do |trainer| Function.all.each do |function| trainers << trainer.user_functions.new(function: function, user: trainer, role_type: 1) end end UserFunction.import trainers