pg_db_helper 0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d38d2b29ab312298567d0f0026e830c083fbd7f6
4
+ data.tar.gz: 1563113cd7c354f79b3fb2cb636a292573fd743a
5
+ SHA512:
6
+ metadata.gz: 623b877a734e032613fcec1b3014e196cea41a4f09dd0d3f17ae9bce1fbacaf5ba47a50805aa4b7af56f623db51f88440d902a41cb1bcb806ce8186c44a8893b
7
+ data.tar.gz: 2ad582b2bf6510f7a291670b64ac0e7905e854cb3c49aa8633fce5b1466660acef2c774dfb92f19b3075d1342c15b5f8ec749e45866c4303759251d0af84174c
data/bin/izi_dump ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative File.join(%w[.. lib dump.rb])
3
+
4
+ DbDump.run(ARGV)
data/bin/izi_fork ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative File.join(%w[.. lib fork.rb])
3
+
4
+ DbFork.run(ARGV)
data/bin/izi_load ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative File.join(%w[.. lib load.rb])
3
+
4
+ DbLoad.run(ARGV)
data/config.yml.sample ADDED
@@ -0,0 +1,10 @@
1
+ db_yml_file: "config/database.yml"
2
+ db_sample_file: "config/database.yml.sample"
3
+ dump_store: "~/www/db/"
4
+
5
+ default_db:
6
+ database: nil
7
+ host: "localhost"
8
+ port: "5432"
9
+ username: "dev"
10
+ password: "pass"
@@ -0,0 +1,32 @@
1
+ require 'yaml'
2
+
3
+ def keys_to_sym src
4
+ if src.is_a? Array
5
+ src.map {|item| keys_to_sym item}
6
+ elsif src.is_a? Hash
7
+ Hash[src.map {|k, v| ["#{k}".to_sym, keys_to_sym(v)]}]
8
+ else
9
+ src
10
+ end
11
+ end
12
+ def keys_to_str src
13
+ if src.is_a? Array
14
+ src.map {|item| keys_to_str item}
15
+ elsif src.is_a? Hash
16
+ Hash[src.map {|k, v| [k.to_s, keys_to_str(v)]}]
17
+ else
18
+ src
19
+ end
20
+ end
21
+ def get_hash_file filename
22
+ if File.exist?(filename)
23
+ keys_to_sym YAML.load_file(filename)
24
+ else
25
+ nil
26
+ end
27
+ end
28
+ def put_hash_file filename, props
29
+ File.open(filename, 'w') do |f|
30
+ f.write((keys_to_str props).to_yaml)
31
+ end
32
+ end
data/lib/db_helper.rb ADDED
@@ -0,0 +1,396 @@
1
+ require 'rubygems'
2
+ require 'fileutils'
3
+ require 'optparse'
4
+ require 'yaml'
5
+ require 'pp'
6
+ require_relative 'config_worker'
7
+
8
+ class DbHelper
9
+ def self.get_configs()
10
+ @working_dir = Dir.pwd
11
+ @sysdir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
12
+ unless File.exists?(File.join(@sysdir, 'config.yml'))
13
+ p "No config file. Creating default one."
14
+ FileUtils.cp(File.join(@sysdir, 'config.yml.sample'), File.join(@sysdir, 'config.yml'))
15
+ p "Please correct your config file at:"
16
+ p "#{File.join(@sysdir, 'config.yml')}"
17
+ end
18
+
19
+ @config = get_hash_file File.join(@sysdir, 'config.yml')
20
+
21
+ @db_yml_file = @config[:db_yml_file]
22
+ @db_sample_file = @config[:db_sample_file]
23
+ @dump_store = @config[:dump_store]
24
+
25
+ @db_config = get_hash_file File.join(@working_dir, @db_yml_file)
26
+ # pp @config
27
+ # pp @db_config
28
+ end
29
+
30
+ def self.save_db_config!()
31
+ put_hash_file File.join(@working_dir, @db_yml_file), @db_config
32
+ end
33
+
34
+ def self.dump!(options={})
35
+ @db_config.keys.each do |env|
36
+ if ((options[:branch]==:all) || env.to_s.start_with?(options[:branch].to_s))
37
+ param = @db_config[env]
38
+ dumpname = options[:file]
39
+ dumpname = File.join([@dump_store, dumpname]) unless options[:relative]
40
+ p "dump <#{env}> to file: #{dumpname}"
41
+ # pp param
42
+ system "
43
+ PGPASSWORD='#{param[:password]}'
44
+ pg_dump -U #{param[:username]} -h #{param[:host]} #{param[:database]} > #{dumpname}
45
+ "
46
+ end
47
+ end
48
+ end
49
+
50
+ def self.fork!(options={})
51
+ dumps = {}
52
+ @db_config.keys.each do |env|
53
+ if ((options[:branch]==:all) || env.to_s.start_with?(options[:branch].to_s))
54
+ param = @db_config[env]
55
+ timestamp = Time.now.strftime('%Y%m%dT%H%M%S%z')
56
+ dumps[env] = File.join([@dump_store, "#{param[:database]}_#{timestamp}.sql"])
57
+ p "dump <#{env}> to file: #{dumps[env]}"
58
+ # pp param
59
+ system "
60
+ PGPASSWORD='#{param[:password]}'
61
+ pg_dump -U #{param[:username]} -h #{param[:host]} #{param[:database]} > #{dumps[env]}
62
+ "
63
+ new_db_name = options[:name] + param[:database].gsub(/.+?(_db)?(_test)?(_db)?/i, '\1\2\3')
64
+ @db_config[env][:database] = new_db_name
65
+
66
+ end
67
+ end
68
+
69
+ p "All backups created!"
70
+ save_db_config!
71
+
72
+ @db_config.keys.each do |env|
73
+ if ((options[:branch]==:all) || env.to_s.start_with?(options[:branch].to_s))
74
+ param = @db_config[env]
75
+ p "load <#{env}> from file: #{dumps[env]}"
76
+ # pp param
77
+ system "RAILS_ENV=#{env} bundle exec rake db:drop"
78
+ system "RAILS_ENV=#{env} bundle exec rake db:create"
79
+ system "RAILS_ENV=#{env} bundle exec rake db:migrate"
80
+ system "
81
+ PGPASSWORD='#{param[:password]}'
82
+ psql -U #{param[:username]} -h #{param[:host]} #{param[:database]} < #{dumps[env]}
83
+ "
84
+ end
85
+ end
86
+ end
87
+
88
+ def self.load!(options={})
89
+ @db_config.keys.each do |env|
90
+ if ((options[:branch]==:all) || env.to_s.start_with?(options[:branch].to_s))
91
+ param = @db_config[env]
92
+ dumpname = options[:file]
93
+ dumpname = File.join([@dump_store, dumpname]) unless options[:relative]
94
+ p "load <#{env}> from file: #{dumpname}"
95
+ # pp param
96
+ if options[:clean]
97
+ system "bundle exec rake db:drop"
98
+ system "bundle exec rake db:create"
99
+ system "bundle exec rake db:migrate"
100
+ end
101
+ system "
102
+ PGPASSWORD='#{param[:password]}'
103
+ psql -U #{param[:username]} -h #{param[:host]} #{param[:database]} < #{dumpname}
104
+ "
105
+ end
106
+ end
107
+ end
108
+
109
+ end
110
+ # @options = Parser.new do |p|
111
+ # p.banner = "This is a db helper, for usage see below"
112
+ # p.version = "db helper 0.0 alpha"
113
+ # # p.option :severity, "set severity", :default => 4, :value_in_set => [4,5,6,7,8]
114
+ # # p.option :verbose, "enable verbose output"
115
+ # # p.option :mutation, "set mutation", :default => "MightyMutation", :value_matches => /Mutation/
116
+ # # p.option :plus_selection, "use plus-selection if set", :default => true
117
+ # # p.option :selection, "selection used", :default => "BestSelection", :short => "l"
118
+ # # p.option :chance, "set mutation chance", :default => 0.8, :value_satisfies => lambda {|x| x >= 0.0 && x <= 1.0}
119
+ # p.option :dump, "dump app DB to dumpstore folder", default: ''
120
+ # p.option :load, "load DB from dump file stored in dumpstore folder", default: ''
121
+ # p.option :migrate, "backup DB, drop, migrate and restore it from backup file stored in dumpstore folder (only development)", default: ''
122
+ # p.option :fork, "forks DB from current and dump it", short: 'F', default: ''
123
+ # p.option :apply, "apply DB from dump", default: ''
124
+ # p.option :file, "name of dump DB from dumpstore folder", default: ''
125
+ # p.option :bundle, "bundle update & push to git", default: ''
126
+ # p.option :api, "sattelite api for bundle update", default: ''
127
+ # p.option :gem, "gem name for bundle update", default: ''
128
+ # end.process!
129
+
130
+ # def get_dumpname(db_name = nil, env)
131
+ # log @options
132
+ # log @options[:file]
133
+ # if @options[:file]
134
+ # File.join(@dump_store, @options[:file])
135
+ # else
136
+ # File.join(@dump_store, "dump_#{db_name}_#{env}.db")
137
+ # end
138
+ # end
139
+
140
+ # def current_time
141
+ # Time.now.getlocal.strftime('%H:%M:%S')
142
+ # end
143
+
144
+ # def log(st)
145
+ # STDOUT << "#{current_time} #{st}\n"
146
+ # end
147
+
148
+ # def pparams(param)
149
+ # (param.map{|k, v| "#{k}: #{v}, " unless k.to_sym==:password}.join()).chomp(', ').gsub(", ", "\n#{' '*5}- ")
150
+ # end
151
+
152
+ # def keys_to_sym src
153
+ # dst = {}
154
+ # src.each do |k, v|
155
+ # dst[k.to_sym] = v.is_a?(Hash) ? keys_to_sym(v) : v
156
+ # end
157
+ # dst
158
+ # end
159
+ # def keys_to_str src
160
+ # dst = {}
161
+ # src.each do |k, v|
162
+ # dst[k.to_s] = v.is_a?(Hash) ? keys_to_str(v) : v
163
+ # end
164
+ # dst
165
+ # end
166
+
167
+ # def get_db_prop filename
168
+ # if File.exist?(filename)
169
+ # keys_to_sym YAML.load_file(filename)
170
+ # else
171
+ # @db_yml_sample_hash
172
+ # end
173
+ # end
174
+
175
+ # def put_db_prop filename, props
176
+ # File.open(filename, 'w') do |f|
177
+ # f.write((keys_to_str props).to_yaml)
178
+ # end
179
+ # end
180
+
181
+ # def dump_db(param = {}, dumpname)
182
+ # # dumpname = get_dumpname(param[:database], environment)
183
+ # param = @default_params.merge(param)
184
+ # log "dump db: \n#{pparams(param)} \nto >>> #{dumpname}"
185
+
186
+ # system "PGPASSFILE=<(echo #{param[:host]}:#{param[:port]}:#{param[:database]}:#{param[:username]}:#{param[:password]})
187
+ # pg_dump -U #{param[:username]} -h #{param[:host]} #{param[:database]} > #{dumpname}"
188
+
189
+ # log "dump finished"
190
+ # end
191
+
192
+ # def load_db(param = {}, dumpname)
193
+ # param = @default_params.merge(param)
194
+ # log "load db: from >>> #{dumpname}\n - With params:\n#{pparams(param)}"
195
+
196
+ # system "PGPASSFILE=<(echo #{param[:host]}:#{param[:port]}:#{param[:database]}:#{param[:username]}:#{param[:password]})
197
+ # psql -U #{param[:username]} -h #{param[:host]} #{param[:database]} < #{dumpname}"
198
+
199
+ # log "load finished"
200
+ # end
201
+
202
+ # def load_prop(env=:development)
203
+ # all_prop = get_db_prop @db_yml_file
204
+ # all_prop[env]
205
+ # end
206
+
207
+ # def reset_migrate
208
+ # param = load_prop
209
+ # dumpname = File.join(@dump_store, "dump_#{param[:database]}_t#{Time.now.to_i}.db")
210
+ # dump_db param, dumpname
211
+ # system 'rake db:drop'
212
+ # log 'db dropped'
213
+ # system 'rake db:create'
214
+ # log 'new db created'
215
+ # system 'rake db:migrate'
216
+ # log 'db migrated'
217
+ # load_db param, dumpname
218
+ # log 'stored db dump removed'
219
+ # system "rm #{dumpname}"
220
+ # log 'stored db dump removed'
221
+ # end
222
+
223
+ # def fork_db database
224
+ # # new_prop, old_prop = change_db_config("database"=> "#{@options[:fork]}")
225
+ # full_params = get_db_prop @db_yml_file
226
+
227
+ # dumpnames = {}
228
+ # full_params.each do |env, param|
229
+ # if env.to_s =~ /dev/
230
+ # dumpname = File.join(@dump_store, "dump_#{param[:database]}_t#{Time.now.to_i}.db")
231
+ # dumpnames[env] = dumpname
232
+ # dump_db param, dumpname
233
+ # full_params[env][:database] = database + full_params[env][:database].gsub(/.+?(_db)?(_test)?(_db)?/i, '\1\2\3')
234
+ # end
235
+ # end
236
+
237
+ # put_db_prop @db_yml_file, full_params
238
+
239
+ # full_params.each do |env, param|
240
+ # if env.to_s =~ /dev/
241
+ # system "rake db:drop RAILS_ENV=#{env}"
242
+ # log 'db dropped'
243
+ # system "rake db:create RAILS_ENV=#{env}"
244
+ # log 'new db created'
245
+ # system "rake db:migrate RAILS_ENV=#{env}"
246
+ # log 'db migrated'
247
+ # load_db param, dumpnames[env]
248
+ # log 'stored db dump removed'
249
+ # system "rm #{dumpnames[env]}"
250
+ # log 'stored db dump removed'
251
+ # end
252
+ # end
253
+ # log 'db fork created'
254
+ # end
255
+
256
+ # def env?(prop)
257
+ # env = %r[(^|\W)(#{prop}\w*)].match(@db_yml_sample_hash.keys().join(', '))
258
+ # env = env[2].to_sym if env
259
+ # env
260
+ # end
261
+
262
+ # def dump_db1(dump_store = '~/www/db/dump_')
263
+ # log 'Dump app DB...'
264
+ # if File.exist?(@db_yml_file)
265
+ # props = get_db_prop @db_yml_file
266
+ # if props.is_a?(Hash) && (props.size > 0)
267
+ # props.each_pair do |env, param|
268
+ # if !!(@options[:dump].index env) || !!(@options[:dump].index 'all')
269
+ # log "environment - #{env}"
270
+ # log "dump - '#{param['database']}' to '#{dump_store}#{param['database']}_#{env}.db'"
271
+ # system "PGPASSFILE=<(echo #{param['host']}:#{param['port']}:#{param['database']}:#{param['username']}:#{param['password']}) pg_dump -U #{param['username']} -h #{param['host']} #{param['database']} > #{dump_store}#{param['database']}_#{env}.db"
272
+ # # pg_dump -U dev -h localhost -W force_db > ../dump
273
+ # # psql -U dev -h localhost -W force_db < ../dump
274
+ # end
275
+ # end
276
+ # log "dump finished"
277
+ # else
278
+ # log 'ERROR - DB not found, please dump it by yourself!'
279
+ # end
280
+ # else
281
+ # log 'ERROR - database.yml not found!'
282
+ # end
283
+
284
+ # end
285
+
286
+ # def load_db1(dump_store = '~/www/db/dump_')
287
+ # log 'Load DB from dump...'
288
+ # if File.exist?(@db_yml_file)
289
+ # props = get_db_prop @db_yml_file
290
+ # if props.is_a?(Hash) && (props.size > 0)
291
+ # props.each_pair do |env, param|
292
+ # if !!(@options[:dump].index env) || !!(@options[:dump].index 'all')
293
+ # log "environment - #{env}"
294
+ # log "load - '#{param['database']}' from '#{dump_store}#{param['database']}_#{env}.db'"
295
+ # if File.exist?("#{dump_store}#{param['database']}_#{env}.db")
296
+ # system "PGPASSFILE=<(echo #{param['host']}:#{param['port']}:#{param['database']}:#{param['username']}:#{param['password']}) psql -U #{param['username']} -h #{param['host']} #{param['database']} < #{dump_store}#{param['database']}_#{env}.db"
297
+ # else
298
+ # log "ERROR - dump file not found, please make sure file '#{dump_store}#{param['database']}_#{env}.db' exists!"
299
+ # end
300
+ # # pg_dump -U dev -h localhost -W force_db > ../dump
301
+ # # psql -U dev -h localhost -W force_db < ../dump
302
+ # end
303
+ # end
304
+ # log "dump finished"
305
+ # else
306
+ # log 'ERROR - DB not found, please dump it by yourself!'
307
+ # end
308
+ # end
309
+ # end
310
+
311
+ # def sattelites apiV=nil
312
+ # if apiV
313
+ # Dir.glob(File.expand_path("~/www/api_v#{apiV}/*/"))
314
+ # else
315
+ # Dir.glob(File.expand_path('~/www/api_v*/*/'))
316
+ # end
317
+ # end
318
+
319
+ # def bundleUpdate sats=[], gemName=nil
320
+ # log 'Bundle update...'
321
+ # errors = []
322
+ # sats.each_with_index do |sat, index|
323
+ # prefix = "cd #{sat}"
324
+ # cmds = [
325
+ # "git pull origin master",
326
+ # ["bundle update", gemName].join(' '),
327
+ # "git add Gemfile Gemfile.lock",
328
+ # "git commit -m 'bundle update #{gemName}'",
329
+ # "git push origin master"
330
+ # ]
331
+ # if system prefix
332
+ # log "#{index}/#{sats.size} work on #{sat}"
333
+ # cmds.each do |cmd|
334
+ # if system [prefix, cmd].join(' && ')
335
+ # log "#{cmd} >>> SUCCESS"
336
+ # else
337
+ # log "#{cmd} >>> FAILED"
338
+ # errors << [sat, cmd]
339
+ # log "!!!!!!!!!! FAILED #{sat}"
340
+ # break
341
+ # end
342
+ # end
343
+ # end
344
+ # end
345
+ # if errors.size > 0
346
+ # log "!!!! TOTAL ERRORS: #{errors.size}"
347
+ # errors.each_with_index do |err, index|
348
+ # log "FAILED: #{err[1]} on #{err[0]}"
349
+ # end
350
+ # end
351
+ # end
352
+
353
+
354
+
355
+
356
+
357
+ # def magick
358
+ # if @options[:dump].size > 0
359
+ # if env = env?(@options[:dump])
360
+ # param = load_prop env
361
+ # dump_db param, get_dumpname(param[:database], env)
362
+ # end
363
+ # elsif @options[:load].size > 0
364
+ # if env = env?(@options[:load])
365
+ # param = load_prop env
366
+ # load_db param, get_dumpname(param[:database], env)
367
+ # end
368
+ # elsif @options[:migrate].size > 0
369
+ # reset_migrate
370
+ # elsif @options[:fork].size > 0
371
+ # fork_db @options[:fork]
372
+ # elsif @options[:bundle].size > 0
373
+ # api = (@options[:api].size) > 0 ? @options[:api] : nil
374
+ # gemName = (@options[:gem].size > 0) ? @options[:gem] : nil
375
+ # sats = sattelites(api)
376
+ # bundleUpdate sats, gemName
377
+ # end
378
+ # end
379
+
380
+ # magick()
381
+ # # dump_db() if @options[:dump]
382
+ # # load_db() if @options[:load]
383
+ # # reset_migrate() if @options[:migrate]
384
+ # # fork_db() if @options[:fork]
385
+
386
+ # # app.add_import 'some/other/file.rake'
387
+ # # app.load_rakefile
388
+
389
+ # # log db_yml_sample_hash.inspect
390
+ # # log File.exist?(@db_yml_file)
391
+ # # log File.exist?(@db_sample_file)
392
+
393
+ # # system 'rake db:drop'
394
+
395
+
396
+
data/lib/dump.rb ADDED
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative 'db_helper'
3
+
4
+ class DbDump < DbHelper
5
+
6
+ def self.run(args=[])
7
+ options = {
8
+ relative: false,
9
+ branch: :dev
10
+ }
11
+ opt_parser = OptionParser.new do |opts|
12
+ opts.banner = "Usage: .. dump [options]"
13
+ opts.separator ""
14
+ opts.separator "Specific options:"
15
+
16
+ opts.on("-f", "--file [database name]", "Set output file for database dump file.") do |arg|
17
+ options[:file] = arg
18
+ end
19
+
20
+ opts.on("-b", "--branch [dev|test|stag|prod|all]", "Set branch for dumping, default: development.") do |arg|
21
+ arg = arg.downcase.to_sym
22
+ options[:branch] = arg if [:dev, :test, :prod, :stag, :all].include?(arg)
23
+ end
24
+
25
+ opts.on("-r", "--relative", "Set relative position of database dump file, if no option - used db store folder.") do |arg|
26
+ options[:relative] = true
27
+ end
28
+
29
+ opts.on_tail("-h", "--help", "Show this message") do
30
+ puts opts
31
+ exit
32
+ end
33
+ end
34
+
35
+ opt_parser.parse!(args)
36
+ get_configs()
37
+ dump!(options)
38
+
39
+ # pp options
40
+ end
41
+ end
42
+ # DbDump.run(ARGV)
data/lib/fork.rb ADDED
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative 'db_helper'
3
+
4
+ class DbFork < DbHelper
5
+
6
+ def self.run(args=[])
7
+ options = {
8
+ relative: false,
9
+ branch: :dev
10
+ }
11
+ opt_parser = OptionParser.new do |opts|
12
+ opts.banner = "Usage: .. fork [options]"
13
+ opts.separator ""
14
+ opts.separator "Specific options:"
15
+
16
+ opts.on("-b", "--branch [dev|test|stag|prod|all]", "Set branch for fork, default: development.") do |arg|
17
+ arg = arg.downcase.to_sym
18
+ options[:branch] = arg if [:dev, :test, :prod, :stag, :all].include?(arg)
19
+ end
20
+
21
+ opts.on("-n [new name]", "--name [new name]", "Set new database name.") do |arg|
22
+ options[:name] = arg.split('.')[0]
23
+ end
24
+
25
+ opts.on_tail("-h", "--help", "Show this message") do
26
+ puts opts
27
+ exit
28
+ end
29
+ end
30
+
31
+ opt_parser.parse!(args)
32
+ get_configs()
33
+ fork!(options)
34
+
35
+ # pp options
36
+ end
37
+ end
38
+ # DbDump.run(ARGV)
data/lib/load.rb ADDED
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative 'db_helper'
3
+
4
+ class DbLoad < DbHelper
5
+
6
+ def self.run(args=[])
7
+ options = {
8
+ relative: false,
9
+ clean: false,
10
+ reset: false,
11
+ branch: :dev
12
+ }
13
+ opt_parser = OptionParser.new do |opts|
14
+ opts.banner = "Usage: .. load [options]"
15
+ opts.separator ""
16
+ opts.separator "Specific options:"
17
+
18
+ opts.on("-f", "--file [database name]", "Set output file for database dump file.") do |arg|
19
+ options[:file] = arg
20
+ end
21
+
22
+ opts.on("-b", "--branch [dev|test|stag|prod|all]", "Set branch for load, default: development.") do |arg|
23
+ arg = arg.downcase.to_sym
24
+ options[:branch] = arg if [:dev, :test, :prod, :stag, :all].include?(arg)
25
+ end
26
+
27
+ opts.on("-r", "--relative", "Set relative position of database dump file, if no option - used db store folder.") do |arg|
28
+ options[:relative] = true
29
+ end
30
+
31
+ opts.on("-c", "--clean", "Clean db before load (drop>create>migrate>load)") do |arg|
32
+ options[:clean] = true
33
+ end
34
+
35
+ opts.on_tail("-h", "--help", "Show this message") do
36
+ puts opts
37
+ exit
38
+ end
39
+ end
40
+
41
+ opt_parser.parse!(args)
42
+ get_configs()
43
+ load!(options)
44
+
45
+ # pp options
46
+ end
47
+ end
48
+
49
+ # DbLoad.run(ARGV)
metadata ADDED
@@ -0,0 +1,55 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pg_db_helper
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ platform: ruby
6
+ authors:
7
+ - Izik AJ
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-19 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Easy dump and load PostgreSQL database.
14
+ email: izikaj@gmail.com
15
+ executables:
16
+ - izi_load
17
+ - izi_dump
18
+ - izi_fork
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - bin/izi_dump
23
+ - bin/izi_fork
24
+ - bin/izi_load
25
+ - config.yml.sample
26
+ - lib/config_worker.rb
27
+ - lib/db_helper.rb
28
+ - lib/dump.rb
29
+ - lib/fork.rb
30
+ - lib/load.rb
31
+ homepage: https://github.com/IzikAJ/pg_db_helper
32
+ licenses:
33
+ - MIT
34
+ metadata: {}
35
+ post_install_message:
36
+ rdoc_options: []
37
+ require_paths:
38
+ - lib
39
+ required_ruby_version: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ required_rubygems_version: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ requirements: []
50
+ rubyforge_project:
51
+ rubygems_version: 2.4.3
52
+ signing_key:
53
+ specification_version: 4
54
+ summary: Just a simple Postgre database tool.
55
+ test_files: []