pg_export 1.0.0.rc6 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +23 -2
- data/CHANGELOG.md +6 -3
- data/README.md +43 -34
- data/bin/pg_export +13 -131
- data/bin/setup +0 -2
- data/lib/pg_export/commands_factory.rb +158 -0
- data/lib/pg_export/configuration.rb +15 -16
- data/lib/pg_export/configuration_parser.rb +126 -0
- data/lib/pg_export/{lib/pg_export/factories → factories}/dump_factory.rb +1 -1
- data/lib/pg_export/{lib/pg_export/factories → factories}/ftp_gateway_factory.rb +1 -1
- data/lib/pg_export/{lib/pg_export/repositories/gateway_dump_file_repository.rb → factories/gateway_dump_file_factory.rb} +4 -4
- data/lib/pg_export/{lib/pg_export/factories → factories}/ssh_gateway_factory.rb +1 -1
- data/lib/pg_export/{lib/pg_export/operations → operations}/decrypt_dump.rb +1 -1
- data/lib/pg_export/{lib/pg_export/operations → operations}/encrypt_dump.rb +1 -1
- data/lib/pg_export/{lib/pg_export/operations → operations}/open_connection.rb +1 -1
- data/lib/pg_export/{lib/pg_export/operations → operations}/remove_old_dumps.rb +1 -1
- data/lib/pg_export/{lib/pg_export/repositories → repositories}/gateway_dump_repository.rb +2 -2
- data/lib/pg_export/{lib/pg_export/transactions → transactions}/export_dump.rb +10 -10
- data/lib/pg_export/{lib/pg_export/transactions → transactions}/import_dump_interactively.rb +19 -10
- data/lib/pg_export/{lib/pg_export/value_objects → value_objects}/result.rb +1 -1
- data/lib/pg_export/version.rb +1 -1
- data/lib/pg_export.rb +12 -14
- data/pg_export.gemspec +1 -3
- metadata +52 -51
- data/lib/pg_export/factory.rb +0 -148
- /data/lib/pg_export/{lib/pg_export/adapters → adapters}/shell_adapter.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/entities → entities}/dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/factories → factories}/cipher_factory.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/gateways → gateways}/ftp.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/gateways → gateways}/ssh.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/build_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/close_connection.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/decrypt_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/download_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/encrypt_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/fetch_dumps.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/open_connection.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/remove_old_dumps.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/restore.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/select_database.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/select_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive/upload_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/interactive_listener.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/build_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/close_connection.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/decrypt_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/download_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/encrypt_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/fetch_dumps.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/open_connection.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/prepare_params.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/remove_old_dumps.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/restore.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain/upload_dump.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/listeners → listeners}/plain_listener.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/transactions → transactions}/evaluator.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/ui → ui}/interactive/input.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/ui → ui}/plain/input.rb +0 -0
- /data/lib/pg_export/{lib/pg_export/value_objects → value_objects}/dump_file.rb +0 -0
@@ -0,0 +1,126 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'optparse'
|
4
|
+
require 'pg_export/configuration'
|
5
|
+
|
6
|
+
class PgExport
|
7
|
+
class ConfigurationParser
|
8
|
+
class Error < OptionParser::ParseError; end
|
9
|
+
|
10
|
+
class << self
|
11
|
+
def parse
|
12
|
+
h = {
|
13
|
+
encryption_key: ENV['PG_EXPORT_ENCRYPTION_KEY'],
|
14
|
+
encryption_algorithm: ENV['PG_EXPORT_ENCRYPTION_ALGORITHM'],
|
15
|
+
gateway_user: ENV['PG_EXPORT_GATEWAY_USER'],
|
16
|
+
gateway_host: ENV['PG_EXPORT_GATEWAY_HOST'],
|
17
|
+
gateway_password: ENV['PG_EXPORT_GATEWAY_PASSWORD'],
|
18
|
+
logger_format: ENV['PG_EXPORT_LOGGER_FORMAT'],
|
19
|
+
keep_dumps: ENV['PG_EXPORT_KEEP_DUMPS'],
|
20
|
+
gateway: ENV['PG_EXPORT_GATEWAY'],
|
21
|
+
database: ENV['PG_EXPORT_DATABASE'],
|
22
|
+
mode: ENV['PG_EXPORT_MODE'],
|
23
|
+
command: :export_dump
|
24
|
+
}
|
25
|
+
|
26
|
+
option_parser(h).parse!
|
27
|
+
h[:database] = ARGV.first unless ARGV.empty?
|
28
|
+
|
29
|
+
Configuration.new(**h)
|
30
|
+
rescue OptionParser::ParseError => e
|
31
|
+
error = Error.new(*e.args)
|
32
|
+
error.reason = e.reason
|
33
|
+
raise error
|
34
|
+
end
|
35
|
+
|
36
|
+
def help
|
37
|
+
option_parser.to_s
|
38
|
+
end
|
39
|
+
|
40
|
+
BANNER = <<~TXT
|
41
|
+
NAME
|
42
|
+
pg_export - CLI for exporting/importing PostgreSQL dumps via FTP/SSH
|
43
|
+
|
44
|
+
SYNOPSIS
|
45
|
+
pg_export DATABASE [OPTION..]
|
46
|
+
pg_export --interactive DATABASE [OPTION..]
|
47
|
+
|
48
|
+
EXIT VALUES
|
49
|
+
0 - Success
|
50
|
+
1 - Error
|
51
|
+
|
52
|
+
ARGUMENTS
|
53
|
+
DATABASE - database name to export (when default mode)
|
54
|
+
- phrase to filter database dumps by (when interactive mode)
|
55
|
+
|
56
|
+
OPTIONS
|
57
|
+
TXT
|
58
|
+
|
59
|
+
EXAMPLE = <<~TXT
|
60
|
+
ENV
|
61
|
+
Each of the above options can be also set using enviromental variables.
|
62
|
+
Use full option names prepending with PG_EXPORT_ phrase.
|
63
|
+
Command line options takes precedence over the ENVs.
|
64
|
+
|
65
|
+
Eg. commands:
|
66
|
+
pg_export -s -U user -H host database_name -k 10
|
67
|
+
|
68
|
+
Is equivalent to:
|
69
|
+
export PG_EXPORT_GATEWAY_USER=user
|
70
|
+
export PG_EXPORT_GATEWAY_HOST=host
|
71
|
+
export PG_EXPORT_KEEP=20
|
72
|
+
pg_export -s database_name -k 10
|
73
|
+
TXT
|
74
|
+
|
75
|
+
N = "\n "
|
76
|
+
|
77
|
+
O = {
|
78
|
+
g: 'Allowed values: ftp, ssh. Default: ftp',
|
79
|
+
U: 'Gateway (ftp or ssh) user',
|
80
|
+
H: 'Gateway (ftp or ssh) host',
|
81
|
+
P: 'Gateway (ftp or ssh) password',
|
82
|
+
d: "In plain mode: database name to export;#{N}In interactive mode: phrase to filter by",
|
83
|
+
e: 'Dumps will be SSL encrypted using this key. Should have exactly 16 characters',
|
84
|
+
a: "Encryption cipher algorithm (default: AES-128-CBC);#{N}For available option see `$ openssl list -cipher-algorithms`",
|
85
|
+
k: 'Number of dump files to keep on FTP/SSH (default: 10)',
|
86
|
+
s: 'Same as "--gateway ssh". When set, the --gateway option is ignored',
|
87
|
+
f: 'Same as "--gateway ftp". When set, the --gateway option is ignored',
|
88
|
+
t: 'Prepends log messages with timestamps',
|
89
|
+
m: 'Mutes log messages. When set, the -t option is ignored. Prints message only on error',
|
90
|
+
i: 'Interactive mode, for importing dumps. Whan set, the -t and -m options are ignored',
|
91
|
+
w: 'Try connecting to the gateway (FTP or SSH) to verify the connection and exit',
|
92
|
+
c: 'Print the configuration and exit',
|
93
|
+
v: 'Print version',
|
94
|
+
h: 'Print this message and exit'
|
95
|
+
}.freeze
|
96
|
+
private_constant :BANNER, :EXAMPLE, :N, :O
|
97
|
+
|
98
|
+
def option_parser(h = {})
|
99
|
+
OptionParser.new do |o|
|
100
|
+
o.banner = BANNER
|
101
|
+
o.program_name = 'pg_export'
|
102
|
+
o.version = PgExport::VERSION
|
103
|
+
o.on('-g', '--gateway GATEWAY', %w[ftp ssh], O[:g]) { |v| h[:gateway] = v }
|
104
|
+
o.on('-U', '--user USER', String, O[:U]) { |v| h[:gateway_user] = v }
|
105
|
+
o.on('-H', '--host HOST', String, O[:H]) { |v| h[:gateway_host] = v }
|
106
|
+
o.on('-P', '--password PASSWORD', String, O[:P]) { |v| h[:gateway_password] = v }
|
107
|
+
o.on('-d', '--database DATABASE', String, O[:d]) { |v| h[:database] = v }
|
108
|
+
o.on('-e', '--encryption_key KEY', String, O[:e]) { |v| h[:encryption_key] = v }
|
109
|
+
o.on('-a', '--algorithm ALGORITHM', String, O[:a]) { |v| h[:encryption_algorithm] = v }
|
110
|
+
o.on('-k', '--keep KEEP', Integer, O[:k]) { |v| h[:keep_dumps] = v }
|
111
|
+
o.on('-s', '--ssh', O[:s]) { h[:gateway] = 'ssh' }
|
112
|
+
o.on('-f', '--ftp', O[:f]) { h[:gateway] = 'ftp' }
|
113
|
+
o.on('-t', '--timestamped', O[:t]) { h[:logger_format] = 'timestamped' }
|
114
|
+
o.on('-m', '--muted', O[:m]) { h[:logger_format] = 'muted' }
|
115
|
+
o.on('-i', '--interactive', O[:i]) { h[:command] = :import_dump_interactively }
|
116
|
+
o.on('-w', '--welcome', O[:w]) { h[:command] = :gateway_welcome }
|
117
|
+
o.on('-c', '--configuration', O[:c]) { h[:command] = :print_configuration }
|
118
|
+
o.on('-v', '--version', O[:v]) { h[:command] = :print_version }
|
119
|
+
o.on('-h', '--help', O[:h]) { h[:command] = :print_help }
|
120
|
+
o.separator ''
|
121
|
+
o.separator EXAMPLE
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'open3'
|
4
|
-
require 'pg_export/
|
5
|
-
require 'pg_export/
|
4
|
+
require 'pg_export/entities/dump'
|
5
|
+
require 'pg_export/value_objects/dump_file'
|
6
6
|
|
7
7
|
class PgExport
|
8
|
-
module
|
9
|
-
class
|
8
|
+
module Factories
|
9
|
+
class GatewayDumpFileFactory
|
10
10
|
def by_name(name:, gateway:)
|
11
11
|
file = ValueObjects::DumpFile.new
|
12
12
|
gateway.get(file, name)
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'open3'
|
4
|
-
require 'pg_export/
|
5
|
-
require 'pg_export/
|
4
|
+
require 'pg_export/entities/dump'
|
5
|
+
require 'pg_export/value_objects/dump_file'
|
6
6
|
|
7
7
|
class PgExport
|
8
8
|
module Repositories
|
@@ -1,15 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'pg_export/
|
4
|
-
require 'pg_export/
|
5
|
-
require 'pg_export/
|
3
|
+
require 'pg_export/transactions/evaluator'
|
4
|
+
require 'pg_export/value_objects/dump_file'
|
5
|
+
require 'pg_export/adapters/shell_adapter'
|
6
|
+
require 'pg_export/value_objects/result'
|
6
7
|
|
7
8
|
class PgExport
|
8
9
|
module Transactions
|
9
10
|
class ExportDump
|
10
|
-
def initialize(dump_factory:,
|
11
|
+
def initialize(dump_factory:, shell_adapter:, encrypt_dump:, open_connection:, remove_old_dumps:, listeners:)
|
11
12
|
@dump_factory = dump_factory
|
12
|
-
@
|
13
|
+
@shell_adapter = shell_adapter
|
13
14
|
|
14
15
|
@evaluator = Evaluator.new(listeners)
|
15
16
|
@evaluator << method(:prepare_params)
|
@@ -27,8 +28,7 @@ class PgExport
|
|
27
28
|
|
28
29
|
private
|
29
30
|
|
30
|
-
attr_reader :evaluator, :dump_factory, :
|
31
|
-
|
31
|
+
attr_reader :evaluator, :dump_factory, :shell_adapter
|
32
32
|
|
33
33
|
def prepare_params(database_name:)
|
34
34
|
database_name = database_name.to_s
|
@@ -41,10 +41,10 @@ class PgExport
|
|
41
41
|
def build_dump(database_name:)
|
42
42
|
dump = dump_factory.plain(
|
43
43
|
database: database_name,
|
44
|
-
file:
|
44
|
+
file: shell_adapter.pg_dump(ValueObjects::DumpFile.new, database_name)
|
45
45
|
)
|
46
46
|
ValueObjects::Success.new(dump: dump)
|
47
|
-
rescue
|
47
|
+
rescue Adapters::ShellAdapter::PgDumpError => e
|
48
48
|
ValueObjects::Failure.new(message: 'Unable to dump database: ' + e.to_s)
|
49
49
|
end
|
50
50
|
|
@@ -55,7 +55,7 @@ class PgExport
|
|
55
55
|
|
56
56
|
def close_connection(removed_dumps:, gateway:)
|
57
57
|
gateway.close
|
58
|
-
ValueObjects::Success.new
|
58
|
+
ValueObjects::Success.new
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
@@ -1,16 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'pg_export/
|
4
|
-
require 'pg_export/
|
3
|
+
require 'pg_export/transactions/evaluator'
|
4
|
+
require 'pg_export/adapters/shell_adapter'
|
5
|
+
require 'pg_export/value_objects/result'
|
5
6
|
|
6
7
|
class PgExport
|
7
8
|
module Transactions
|
8
9
|
class ImportDumpInteractively
|
9
|
-
def initialize(
|
10
|
+
def initialize(
|
11
|
+
input:,
|
12
|
+
shell_adapter:,
|
13
|
+
gateway_dump_repository:,
|
14
|
+
gateway_dump_file_factory:,
|
15
|
+
open_connection:,
|
16
|
+
decrypt_dump:,
|
17
|
+
listeners:
|
18
|
+
)
|
10
19
|
@input = input
|
11
|
-
@
|
20
|
+
@shell_adapter = shell_adapter
|
12
21
|
@gateway_dump_repository = gateway_dump_repository
|
13
|
-
@
|
22
|
+
@gateway_dump_file_factory = gateway_dump_file_factory
|
14
23
|
|
15
24
|
@evaluator = Evaluator.new(listeners)
|
16
25
|
@evaluator << open_connection
|
@@ -29,7 +38,7 @@ class PgExport
|
|
29
38
|
|
30
39
|
private
|
31
40
|
|
32
|
-
attr_reader :evaluator, :input, :
|
41
|
+
attr_reader :evaluator, :input, :shell_adapter, :gateway_dump_repository, :gateway_dump_file_factory
|
33
42
|
|
34
43
|
def fetch_dumps(database_name:, gateway:)
|
35
44
|
dumps = gateway_dump_repository.all(database_name: database_name, gateway: gateway)
|
@@ -44,7 +53,7 @@ class PgExport
|
|
44
53
|
end
|
45
54
|
|
46
55
|
def download_dump(dump:, gateway:)
|
47
|
-
dump.file =
|
56
|
+
dump.file = gateway_dump_file_factory.by_name(name: dump.name, gateway: gateway)
|
48
57
|
ValueObjects::Success.new(dump: dump, gateway: gateway)
|
49
58
|
end
|
50
59
|
|
@@ -59,9 +68,9 @@ class PgExport
|
|
59
68
|
end
|
60
69
|
|
61
70
|
def restore(dump:, database:)
|
62
|
-
|
63
|
-
ValueObjects::Success.new(
|
64
|
-
rescue
|
71
|
+
shell_adapter.pg_restore(dump.file, database)
|
72
|
+
ValueObjects::Success.new(nil)
|
73
|
+
rescue Adapters::ShellAdapter::PgRestoreError => e
|
65
74
|
ValueObjects::Failure.new(message: e.to_s)
|
66
75
|
end
|
67
76
|
end
|
data/lib/pg_export/version.rb
CHANGED
data/lib/pg_export.rb
CHANGED
@@ -2,27 +2,25 @@
|
|
2
2
|
|
3
3
|
require 'pg_export/version'
|
4
4
|
require 'pg_export/configuration'
|
5
|
-
require 'pg_export/
|
5
|
+
require 'pg_export/configuration_parser'
|
6
|
+
require 'pg_export/commands_factory'
|
6
7
|
|
7
8
|
class PgExport
|
8
|
-
|
9
|
+
def initialize(config)
|
10
|
+
raise ArgumentError, 'config is not a PgExport::Configuration' unless config.is_a?(PgExport::Configuration)
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
@config = PgExport::Configuration.build(ENV)
|
14
|
-
@factory = PgExport::Factory.new(config: config)
|
15
|
-
end
|
16
|
-
|
17
|
-
def call(database_name, &block)
|
18
|
-
factory.transaction.call(database_name: database_name, &block)
|
12
|
+
@command_name = config.command
|
13
|
+
@database_name = config.database
|
14
|
+
@commands_factory = PgExport::CommandsFactory.new(config: config)
|
19
15
|
end
|
20
16
|
|
21
|
-
def
|
22
|
-
|
17
|
+
def call
|
18
|
+
commands_factory
|
19
|
+
.public_send(command_name)
|
20
|
+
.call(database_name: database_name)
|
23
21
|
end
|
24
22
|
|
25
23
|
private
|
26
24
|
|
27
|
-
attr_reader :
|
25
|
+
attr_reader :command_name, :database_name, :commands_factory
|
28
26
|
end
|
data/pg_export.gemspec
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'pg_export/version'
|
3
|
+
require_relative 'lib/pg_export/version'
|
6
4
|
|
7
5
|
Gem::Specification.new do |spec|
|
8
6
|
spec.name = 'pg_export'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_export
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krzysztof Maicher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bcrypt_pbkdf
|
@@ -203,54 +203,55 @@ files:
|
|
203
203
|
- bin/pg_export
|
204
204
|
- bin/setup
|
205
205
|
- lib/pg_export.rb
|
206
|
+
- lib/pg_export/adapters/shell_adapter.rb
|
207
|
+
- lib/pg_export/commands_factory.rb
|
206
208
|
- lib/pg_export/configuration.rb
|
207
|
-
- lib/pg_export/
|
208
|
-
- lib/pg_export/
|
209
|
-
- lib/pg_export/
|
210
|
-
- lib/pg_export/
|
211
|
-
- lib/pg_export/
|
212
|
-
- lib/pg_export/
|
213
|
-
- lib/pg_export/
|
214
|
-
- lib/pg_export/
|
215
|
-
- lib/pg_export/
|
216
|
-
- lib/pg_export/
|
217
|
-
- lib/pg_export/
|
218
|
-
- lib/pg_export/
|
219
|
-
- lib/pg_export/
|
220
|
-
- lib/pg_export/
|
221
|
-
- lib/pg_export/
|
222
|
-
- lib/pg_export/
|
223
|
-
- lib/pg_export/
|
224
|
-
- lib/pg_export/
|
225
|
-
- lib/pg_export/
|
226
|
-
- lib/pg_export/
|
227
|
-
- lib/pg_export/
|
228
|
-
- lib/pg_export/
|
229
|
-
- lib/pg_export/
|
230
|
-
- lib/pg_export/
|
231
|
-
- lib/pg_export/
|
232
|
-
- lib/pg_export/
|
233
|
-
- lib/pg_export/
|
234
|
-
- lib/pg_export/
|
235
|
-
- lib/pg_export/
|
236
|
-
- lib/pg_export/
|
237
|
-
- lib/pg_export/
|
238
|
-
- lib/pg_export/
|
239
|
-
- lib/pg_export/
|
240
|
-
- lib/pg_export/
|
241
|
-
- lib/pg_export/
|
242
|
-
- lib/pg_export/
|
243
|
-
- lib/pg_export/
|
244
|
-
- lib/pg_export/
|
245
|
-
- lib/pg_export/
|
246
|
-
- lib/pg_export/
|
247
|
-
- lib/pg_export/
|
248
|
-
- lib/pg_export/
|
249
|
-
- lib/pg_export/
|
250
|
-
- lib/pg_export/
|
251
|
-
- lib/pg_export/
|
252
|
-
- lib/pg_export/
|
253
|
-
- lib/pg_export/lib/pg_export/value_objects/result.rb
|
209
|
+
- lib/pg_export/configuration_parser.rb
|
210
|
+
- lib/pg_export/entities/dump.rb
|
211
|
+
- lib/pg_export/factories/cipher_factory.rb
|
212
|
+
- lib/pg_export/factories/dump_factory.rb
|
213
|
+
- lib/pg_export/factories/ftp_gateway_factory.rb
|
214
|
+
- lib/pg_export/factories/gateway_dump_file_factory.rb
|
215
|
+
- lib/pg_export/factories/ssh_gateway_factory.rb
|
216
|
+
- lib/pg_export/gateways/ftp.rb
|
217
|
+
- lib/pg_export/gateways/ssh.rb
|
218
|
+
- lib/pg_export/listeners/interactive/build_dump.rb
|
219
|
+
- lib/pg_export/listeners/interactive/close_connection.rb
|
220
|
+
- lib/pg_export/listeners/interactive/decrypt_dump.rb
|
221
|
+
- lib/pg_export/listeners/interactive/download_dump.rb
|
222
|
+
- lib/pg_export/listeners/interactive/encrypt_dump.rb
|
223
|
+
- lib/pg_export/listeners/interactive/fetch_dumps.rb
|
224
|
+
- lib/pg_export/listeners/interactive/open_connection.rb
|
225
|
+
- lib/pg_export/listeners/interactive/remove_old_dumps.rb
|
226
|
+
- lib/pg_export/listeners/interactive/restore.rb
|
227
|
+
- lib/pg_export/listeners/interactive/select_database.rb
|
228
|
+
- lib/pg_export/listeners/interactive/select_dump.rb
|
229
|
+
- lib/pg_export/listeners/interactive/upload_dump.rb
|
230
|
+
- lib/pg_export/listeners/interactive_listener.rb
|
231
|
+
- lib/pg_export/listeners/plain/build_dump.rb
|
232
|
+
- lib/pg_export/listeners/plain/close_connection.rb
|
233
|
+
- lib/pg_export/listeners/plain/decrypt_dump.rb
|
234
|
+
- lib/pg_export/listeners/plain/download_dump.rb
|
235
|
+
- lib/pg_export/listeners/plain/encrypt_dump.rb
|
236
|
+
- lib/pg_export/listeners/plain/fetch_dumps.rb
|
237
|
+
- lib/pg_export/listeners/plain/open_connection.rb
|
238
|
+
- lib/pg_export/listeners/plain/prepare_params.rb
|
239
|
+
- lib/pg_export/listeners/plain/remove_old_dumps.rb
|
240
|
+
- lib/pg_export/listeners/plain/restore.rb
|
241
|
+
- lib/pg_export/listeners/plain/upload_dump.rb
|
242
|
+
- lib/pg_export/listeners/plain_listener.rb
|
243
|
+
- lib/pg_export/operations/decrypt_dump.rb
|
244
|
+
- lib/pg_export/operations/encrypt_dump.rb
|
245
|
+
- lib/pg_export/operations/open_connection.rb
|
246
|
+
- lib/pg_export/operations/remove_old_dumps.rb
|
247
|
+
- lib/pg_export/repositories/gateway_dump_repository.rb
|
248
|
+
- lib/pg_export/transactions/evaluator.rb
|
249
|
+
- lib/pg_export/transactions/export_dump.rb
|
250
|
+
- lib/pg_export/transactions/import_dump_interactively.rb
|
251
|
+
- lib/pg_export/ui/interactive/input.rb
|
252
|
+
- lib/pg_export/ui/plain/input.rb
|
253
|
+
- lib/pg_export/value_objects/dump_file.rb
|
254
|
+
- lib/pg_export/value_objects/result.rb
|
254
255
|
- lib/pg_export/version.rb
|
255
256
|
- pg_export.gemspec
|
256
257
|
homepage: https://github.com/maicher/pg_export
|
@@ -268,9 +269,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
268
269
|
version: 2.3.0
|
269
270
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
271
|
requirements:
|
271
|
-
- - "
|
272
|
+
- - ">="
|
272
273
|
- !ruby/object:Gem::Version
|
273
|
-
version:
|
274
|
+
version: '0'
|
274
275
|
requirements: []
|
275
276
|
rubygems_version: 3.2.3
|
276
277
|
signing_key:
|