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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/pgsync.rb +17 -5
- data/lib/pgsync/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e5c1193dba0f46b4b362242ec5d582a014672f9
|
4
|
+
data.tar.gz: ad199ac38b08d5f28644e5193497fa4deda2a1f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 279113a7d79714a718af40382dd18a4f985d6c47e6f2aeca97282e4c436206d36a420c3f568f636e78b0cfe7dcd61b0d7f18f04f49e8655b6facb1f4da6965c8
|
7
|
+
data.tar.gz: 102fbfeac459a32714d3965808f3e09de3edc059a11dc8534886ef08e8cf32111eec4b5ab7c67384dfc5fa997758902cfb059d8339e30dc1dcf44f0b63988c8f
|
data/CHANGELOG.md
CHANGED
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
|
-
|
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
|
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
|
data/lib/pgsync/version.rb
CHANGED
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.
|
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-
|
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.
|
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:
|