activerecord-import批量处置数据
activerecord-import批量处理数据
#database.yml
adapter: mysql
database: mytest
username: username
password: password
#------------------------------------
#conn.rb
#encoding:utf-8
require 'rubygems'
require 'active_record'
require 'yaml'
require 'logger'
dbconfig = YAML::load(File.open('database.yml'))
puts dbconfig
ActiveRecord::Base.establish_connection(dbconfig)
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.logger = Logger.new(File.open('database.log','a'))
class Book < ActiveRecord::Base
set_table_name "activerecord-import_test"#自己建一个表,添加一个name字段
end
#-----------------------------
#activerecord-import_test.rb
require 'active_record'
require 'activerecord-import'
require './conn.rb'
books = []
10000.times do |i|
books << Book.new(:name => "book #{i}")
end
puts Time.now.to_i
Book.import books
puts Time.now.to_i
10000.times do |i|
Book.create! :name => "book #{i}"
end
puts Time.now.to_i
#----------------------------------------
参考链接:
activerecord-import api:http://rubydoc.info/gems/activerecord-import/0.2.9/ActiveRecord/Base#establish_connection_with_activerecord_import-class_method
使用activerecord-import 批量导入数据至mysql on rails enhanced active-record:http://archive.cnblogs.com/a/1913214/
#database.yml
adapter: mysql
database: mytest
username: username
password: password
#------------------------------------
#conn.rb
#encoding:utf-8
require 'rubygems'
require 'active_record'
require 'yaml'
require 'logger'
dbconfig = YAML::load(File.open('database.yml'))
puts dbconfig
ActiveRecord::Base.establish_connection(dbconfig)
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.logger = Logger.new(File.open('database.log','a'))
class Book < ActiveRecord::Base
set_table_name "activerecord-import_test"#自己建一个表,添加一个name字段
end
#-----------------------------
#activerecord-import_test.rb
require 'active_record'
require 'activerecord-import'
require './conn.rb'
books = []
10000.times do |i|
books << Book.new(:name => "book #{i}")
end
puts Time.now.to_i
Book.import books
puts Time.now.to_i
10000.times do |i|
Book.create! :name => "book #{i}"
end
puts Time.now.to_i
#----------------------------------------
参考链接:
activerecord-import api:http://rubydoc.info/gems/activerecord-import/0.2.9/ActiveRecord/Base#establish_connection_with_activerecord_import-class_method
使用activerecord-import 批量导入数据至mysql on rails enhanced active-record:http://archive.cnblogs.com/a/1913214/