Module: E621::CsvImportable

Extended by:
T::Sig
Included in:
Artist, BulkUpdateRequest, Pool, Post, PostReplacement, PostVersion, Tag, TagAlias, TagImplication, WikiPage
Defined in:
lib/e621/csv_importable.rb

Instance Method Summary collapse

Instance Method Details

#import_from_csv(csv_path) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/e621/csv_importable.rb', line 9

def import_from_csv(csv_path)
  raw = T.unsafe(self).connection.raw_connection
  raw.copy_data("COPY #{T.unsafe(self).quoted_table_name} FROM STDIN WITH (FORMAT CSV, HEADER TRUE)") do
    File.open(csv_path, "rb") do |f|
      raw.put_copy_data(f.read(65_536)) until f.eof?
    end
  end
end