module DlJusyoJp::Import
Public Class Methods
chunk_size()
click to toggle source
# File lib/dl_jusyo_jp/import.rb, line 17 def self.chunk_size 1000 end
execute()
click to toggle source
# File lib/dl_jusyo_jp/import.rb, line 6 def self.execute CSV.foreach(Download.csv.path, encoding: "CP932:UTF-8", write_headers: false).each_slice(chunk_size) do |rows| insert = "INSERT INTO #{DlJusyoJp::ADDRESS_DOWNLOAD_TABLE} VALUES " values = rows.map do |row| next unless row[0].match(/^\d+$/) # skip header '(NULL,' + row.map{|col| "'#{col}'"}.join(',') + ')' end.compact.join(',') ActiveRecord::Base.connection.exec_insert("#{insert}#{values}", 'jusyo.jp bulk insert', []) end end