mina-data_sync 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/mina/data_sync.rb +1 -0
- data/lib/mina/data_sync/helpers.rb +7 -8
- data/lib/mina/data_sync/tasks.rb +4 -1
- data/lib/mina/data_sync/version.rb +1 -1
- data/mina-data_sync.gemspec +2 -2
- metadata +12 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 73113d75dcc06e2ed520c41c9eec7ead5f81997a9e2cc8cbbc303e7028303edd
|
4
|
+
data.tar.gz: 03705d30c25c7fa53e7f0cd86b117e1b26e961197385dc0293000cc2d2f7b8f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e175c1eee90f8f4130da6bdc702b74ac650cf5d8fbcfca808bd045eb2b5fbf1b2829e290a4a0b3cd230f80bb30ad83aa982da83b89c59c40822da53e0a555d3e
|
7
|
+
data.tar.gz: 06d9dac2dcb74fae366872f5a2dd1c7cf2a4c2eb915717791329e3c26c4709038a38bbb7968ecd3e8436e1d53f152c842b38424dcb0157b9f8d4b06a4dd86d27
|
data/lib/mina/data_sync.rb
CHANGED
@@ -9,7 +9,7 @@ COMMAND = <<-RUBY
|
|
9
9
|
port = dc["port"]
|
10
10
|
arguments = ""
|
11
11
|
case adapter.to_s
|
12
|
-
when "postgresql"
|
12
|
+
when "postgresql", "postgis"
|
13
13
|
arguments += "PGPASSWORD=\\"" + password + "\\" " if password
|
14
14
|
arguments += method == "dump" ? "pg_dump" : "psql -q"
|
15
15
|
arguments += " -d " + database if database
|
@@ -31,18 +31,17 @@ COMMAND = <<-RUBY
|
|
31
31
|
RUBY
|
32
32
|
|
33
33
|
DATA_SYNC = <<-BASH
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
data_sync() {
|
35
|
+
ruby -rjson -e '#{COMMAND}' "$@"
|
36
|
+
};
|
37
37
|
BASH
|
38
38
|
|
39
39
|
def dump_restore(rails_root, backup_path, mode: :dump, backend: :local)
|
40
|
-
set :rails_env, 'development' if backend == :local
|
41
40
|
comment %{#{mode == :dump ? 'Dumping' : 'Restoring'} database}
|
42
41
|
command %{cd #{rails_root}}
|
43
42
|
command DATA_SYNC.to_s
|
44
43
|
command %{mkdir -p #{backup_path}}
|
45
|
-
command %{CONFIG=$(
|
44
|
+
command %{CONFIG=$(RAILS_ENV=#{backend == :local ? 'development' : fetch(:rails_env)} bundle exec rails runner "puts ActiveRecord::Base.connection.instance_variable_get(:@config).to_json")}
|
46
45
|
comment %{$(data_sync "#{mode}" "#{backup_path}/#{fetch(:backup_file)}" "$CONFIG")}
|
47
46
|
command %{eval $(data_sync "#{mode}" "#{backup_path}/#{fetch(:backup_file)}" "$CONFIG")}
|
48
47
|
end
|
@@ -53,7 +52,7 @@ def rsync_db(mode: :remote_to_local)
|
|
53
52
|
comment %{Copying backup}
|
54
53
|
command %{mkdir -p #{fetch(:local_backup_path)}}
|
55
54
|
comment %{Backup: #{fetch(:local_backup_path)}/#{fetch(:backup_file)}}
|
56
|
-
command %{rsync --progress -e "ssh -p #{fetch(:port)}" #{fetch(:user)}@#{fetch(:domain)}:#{fetch(:current_path)}/#{fetch(:remote_backup_path)}/#{fetch(:backup_file)} #{fetch(:local_backup_path)}/#{fetch(:backup_file)}}
|
55
|
+
command %{rsync --progress -e "ssh -p #{fetch(:port, 22)}" #{fetch(:user)}@#{fetch(:domain)}:#{fetch(:current_path)}/#{fetch(:remote_backup_path)}/#{fetch(:backup_file)} #{fetch(:local_backup_path)}/#{fetch(:backup_file)}}
|
57
56
|
end
|
58
57
|
else
|
59
58
|
run :remote do
|
@@ -62,7 +61,7 @@ def rsync_db(mode: :remote_to_local)
|
|
62
61
|
run :local do
|
63
62
|
comment %{Copying backup}
|
64
63
|
comment %{Backup: #{fetch(:remote_backup_path)}/#{fetch(:backup_file)}}
|
65
|
-
command %{rsync --progress -e "ssh -p #{fetch(:port)}" #{fetch(:local_backup_path)}/#{fetch(:backup_file)} #{fetch(:user)}@#{fetch(:domain)}:#{fetch(:current_path)}/#{fetch(:remote_backup_path)}/#{fetch(:backup_file)}}
|
64
|
+
command %{rsync --progress -e "ssh -p #{fetch(:port, 22)}" #{fetch(:local_backup_path)}/#{fetch(:backup_file)} #{fetch(:user)}@#{fetch(:domain)}:#{fetch(:current_path)}/#{fetch(:remote_backup_path)}/#{fetch(:backup_file)}}
|
66
65
|
end
|
67
66
|
end
|
68
67
|
end
|
data/lib/mina/data_sync/tasks.rb
CHANGED
@@ -20,7 +20,10 @@ namespace :data_sync do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
task :restore_remote do
|
23
|
-
exit unless TTY::Prompt.new.yes?("Are you sure you want to restore #{fetch(:rails_env)} database?")
|
23
|
+
exit unless TTY::Prompt.new.yes?("Are you sure you want to restore #{fetch(:rails_env)} database?") do |q|
|
24
|
+
q.suffix ('y/N')
|
25
|
+
q.default false
|
26
|
+
end
|
24
27
|
run :remote do
|
25
28
|
dump_restore(fetch(:current_path), fetch(:remote_backup_path), mode: :restore, backend: :remote)
|
26
29
|
end
|
data/mina-data_sync.gemspec
CHANGED
@@ -22,6 +22,6 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
23
|
spec.add_development_dependency "pry", "~> 0"
|
24
24
|
|
25
|
-
spec.add_dependency 'mina', '~> 1.0
|
26
|
-
spec.add_dependency 'tty-prompt'
|
25
|
+
spec.add_dependency 'mina', '~> 1.0'
|
26
|
+
spec.add_dependency 'tty-prompt', '~> 0.4'
|
27
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mina-data_sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stjepan Hadjic
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,28 +58,28 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.0
|
61
|
+
version: '1.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.0
|
68
|
+
version: '1.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: tty-prompt
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '0.4'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '0.4'
|
83
83
|
description: Description
|
84
84
|
email:
|
85
85
|
- d4be4st@gmail.com
|
@@ -105,7 +105,7 @@ homepage: https://github.com/d4be4st/mina-data_sync
|
|
105
105
|
licenses:
|
106
106
|
- MIT
|
107
107
|
metadata: {}
|
108
|
-
post_install_message:
|
108
|
+
post_install_message:
|
109
109
|
rdoc_options: []
|
110
110
|
require_paths:
|
111
111
|
- lib
|
@@ -120,9 +120,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
- !ruby/object:Gem::Version
|
121
121
|
version: '0'
|
122
122
|
requirements: []
|
123
|
-
|
124
|
-
|
125
|
-
signing_key:
|
123
|
+
rubygems_version: 3.0.3
|
124
|
+
signing_key:
|
126
125
|
specification_version: 4
|
127
126
|
summary: Summary
|
128
127
|
test_files: []
|