pgsync 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pgsync might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 26c6ed8e9e75f8392d08f9c9930b659053bcb6bf
4
- data.tar.gz: 67d1caf0199d8c2bbbe99322360d4f06347c3a1e
3
+ metadata.gz: 8e5c1193dba0f46b4b362242ec5d582a014672f9
4
+ data.tar.gz: ad199ac38b08d5f28644e5193497fa4deda2a1f2
5
5
  SHA512:
6
- metadata.gz: 203a74151aa72e5aee142ccc6a5d96e9bf800cf2710e80da1a54126fdf16323135a4ce197db3bccf76a1ae5f8d591b2ee283124dd00e45d6056ec6a612ccac44
7
- data.tar.gz: 4f51ce05bcfe128010850614cf64b0e17b9cac63ce7937b5cbed1bbf2824705e44db6a52c972548db3663860c25082f2e586b246492679d5017bc291e7d68aa1
6
+ metadata.gz: 279113a7d79714a718af40382dd18a4f985d6c47e6f2aeca97282e4c436206d36a420c3f568f636e78b0cfe7dcd61b0d7f18f04f49e8655b6facb1f4da6965c8
7
+ data.tar.gz: 102fbfeac459a32714d3965808f3e09de3edc059a11dc8534886ef08e8cf32111eec4b5ab7c67384dfc5fa997758902cfb059d8339e30dc1dcf44f0b63988c8f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 0.2.2
2
+
3
+ - Added `--debug` option
4
+
1
5
  # 0.2.1
2
6
 
3
7
  - Do not require config file
data/lib/pgsync.rb CHANGED
@@ -15,12 +15,15 @@ module PgSync
15
15
  class Client
16
16
  def initialize(args)
17
17
  $stdout.sync = true
18
+ @exit = false
18
19
  @arguments, @options = parse_args(args)
19
20
  @mutex = MultiProcessing::Mutex.new
20
21
  end
21
22
 
22
23
  # TODO clean up this mess
23
24
  def perform
25
+ return if @exit
26
+
24
27
  start_time = Time.now
25
28
 
26
29
  args, opts = @arguments, @options
@@ -95,7 +98,7 @@ module PgSync
95
98
  end
96
99
  end
97
100
 
98
- Parallel.each(tables) do |table|
101
+ in_parallel(tables) do |table|
99
102
  time =
100
103
  benchmark do
101
104
  with_connection(from_uri) do |from_connection|
@@ -182,13 +185,14 @@ module PgSync
182
185
  o.string "--db", "database"
183
186
  # TODO much better name for this option
184
187
  o.boolean "--to-safe", "accept danger", default: false
188
+ o.boolean "--debug", "debug", default: false
185
189
  o.on "-v", "--version", "print the version" do
186
190
  log PgSync::VERSION
187
- exit
191
+ @exit = true
188
192
  end
189
193
  o.on "-h", "--help", "prints help" do
190
194
  log o
191
- exit
195
+ @exit = true
192
196
  end
193
197
  end
194
198
  [opts.arguments, opts.to_hash]
@@ -371,7 +375,7 @@ module PgSync
371
375
  end
372
376
 
373
377
  def config_file
374
- return @config_file if instance_variable_get(:@config_file)
378
+ return @config_file if instance_variable_defined?(:@config_file)
375
379
 
376
380
  @config_file =
377
381
  search_tree(
@@ -387,12 +391,20 @@ module PgSync
387
391
  raise PgSync::Error, message
388
392
  end
389
393
 
390
- def log(message)
394
+ def log(message = nil)
391
395
  $stderr.puts message
392
396
  end
393
397
 
394
398
  def sequences(conn, table, columns)
395
399
  conn.exec("SELECT #{columns.map { |f| "pg_get_serial_sequence(#{escape(table)}, #{escape(f)}) AS #{f}" }.join(", ")}").to_a[0].values.compact
396
400
  end
401
+
402
+ def in_parallel(tables, &block)
403
+ if @options[:debug]
404
+ tables.each(&block)
405
+ else
406
+ Parallel.each(tables, &block)
407
+ end
408
+ end
397
409
  end
398
410
  end
@@ -1,3 +1,3 @@
1
1
  module PgSync
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgsync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-27 00:00:00.000000000 Z
11
+ date: 2016-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slop
@@ -147,8 +147,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  version: '0'
148
148
  requirements: []
149
149
  rubyforge_project:
150
- rubygems_version: 2.4.5.1
150
+ rubygems_version: 2.6.1
151
151
  signing_key:
152
152
  specification_version: 4
153
153
  summary: Quickly and securely sync data between environments
154
154
  test_files: []
155
+ has_rdoc: