32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/tapsoob/cli/data_stream.rb', line 32
def push(database_url, dump_path = nil)
data = []
opts = parse_opts(options)
if dump_path && Dir.exists?(dump_path)
files = Dir[Pathname.new(dump_path).join("*.json")]
files.each { |file| data << JSON.parse(File.read(file), symbolize_names: true) }
else
STDIN.each_line { |line| data << JSON.parse(line, symbolize_names: true) }
end
data.each do |table|
stream = Tapsoob::DataStream.factory(db(database_url, opts), {
table_name: table[:table_name],
chunksize: opts[:default_chunksize],
debug: opts[:debug]
})
begin
stream.import_rows(table)
rescue Exception => e
stream.log.debug e.message
end
end
end
|