avm-eac_webapp_base0 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/avm/eac_webapp_base0/instances/base/subcommand_parent.rb +26 -0
- data/lib/avm/eac_webapp_base0/instances/base.rb +61 -0
- data/lib/avm/eac_webapp_base0/instances/runners/data/dump.rb +65 -0
- data/lib/avm/eac_webapp_base0/instances/runners/data/load.rb +57 -0
- data/lib/avm/eac_webapp_base0/instances/runners/data.rb +19 -0
- data/lib/avm/eac_webapp_base0/instances/runners.rb +13 -0
- data/lib/avm/eac_webapp_base0/version.rb +1 -1
- metadata +24 -17
- data/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -24
- data/lib/avm/eac_webapp_base0/instance.rb +0 -55
- data/lib/avm/eac_webapp_base0/runner/data/dump.rb +0 -63
- data/lib/avm/eac_webapp_base0/runner/data/load.rb +0 -55
- data/lib/avm/eac_webapp_base0/runner/data.rb +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77da2f06f0bb33ef2ddfd167f7bb53c234a6c353ce4eea1abf3ee4d7da417be9
|
4
|
+
data.tar.gz: b7a16787cb9c352faeafbc5b628330b60862d96012ecb82565f10a64c5cefc63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5619ed9e4c61983641d0e76278e1672be949cb975277f390ba622306d063e2993c5971bec2c70bebc91a74738b8dd797394f7f56cf513336cf40a7c1a28ddad3
|
7
|
+
data.tar.gz: '0822e9f9c18056e18b5691a84c6e980ad3b4f420188e5037a2bbd75731e934552c61cb1b07b71e65adc981c0be587fb4522bc4c07e07f1af84b0d9a4f641df51'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacWebappBase0
|
7
|
+
module Instances
|
8
|
+
class Base < ::Avm::Instances::Base
|
9
|
+
class SubcommandParent
|
10
|
+
enable_simple_cache
|
11
|
+
common_constructor :instance
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def runner_context_uncached
|
16
|
+
::EacCli::Runner::Context.new(self, argv: runner_argv)
|
17
|
+
end
|
18
|
+
|
19
|
+
def runner_argv
|
20
|
+
[instance.class.name.split('::')[-2].dasherize, instance.id]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/instances/base'
|
4
|
+
require 'avm/eac_postgresql_base0/instance_with'
|
5
|
+
require 'avm/data/instance/files_unit'
|
6
|
+
require 'avm/data/instance/package'
|
7
|
+
require 'avm/eac_webapp_base0/deploy/file_unit'
|
8
|
+
require 'avm/eac_webapp_base0/instances/runners'
|
9
|
+
require 'avm/eac_ubuntu_base0/instances/base'
|
10
|
+
|
11
|
+
module Avm
|
12
|
+
module EacWebappBase0
|
13
|
+
module Instances
|
14
|
+
class Base < ::Avm::Instances::Base
|
15
|
+
require_sub __FILE__
|
16
|
+
include ::Avm::EacPostgresqlBase0::InstanceWith
|
17
|
+
enable_simple_cache
|
18
|
+
|
19
|
+
FILES_UNITS = [].freeze
|
20
|
+
|
21
|
+
def data_dump(argv = [])
|
22
|
+
run_subcommand(data_dump_runner_class, argv)
|
23
|
+
end
|
24
|
+
|
25
|
+
def data_dump_runner_class
|
26
|
+
"#{stereotype_namespace_module}::Runner::Data::Dump".constantize
|
27
|
+
end
|
28
|
+
|
29
|
+
def run_subcommand(subcommand_class, argv)
|
30
|
+
subcommand_class.create(
|
31
|
+
argv: argv,
|
32
|
+
parent: ::Avm::EacWebappBase0::Instance::SubcommandParent.new(self)
|
33
|
+
).run
|
34
|
+
end
|
35
|
+
|
36
|
+
def data_package
|
37
|
+
@data_package ||= ::Avm::Data::Instance::Package.new(
|
38
|
+
self, units: { database: database_unit }.merge(files_units)
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def database_unit
|
43
|
+
pg.data_unit
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
# @return [Avm::EacUbuntuBase0::Instances::Base]
|
49
|
+
def platform_instance_uncached
|
50
|
+
::Avm::EacUbuntuBase0::Instances::Base.by_id(id)
|
51
|
+
end
|
52
|
+
|
53
|
+
def files_units
|
54
|
+
self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
|
55
|
+
::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/data/package/dump'
|
4
|
+
require 'eac_cli/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacWebappBase0
|
8
|
+
module Instances
|
9
|
+
module Runners
|
10
|
+
class Data
|
11
|
+
class Dump
|
12
|
+
DUMP_EXPIRE_TIME = 1.day
|
13
|
+
DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
|
14
|
+
NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
|
15
|
+
'dump was expired.'
|
16
|
+
|
17
|
+
runner_with :help do
|
18
|
+
desc 'Dump utility for EacRailsBase instance.'
|
19
|
+
bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
|
20
|
+
arg_opt '-p', '--dump-path', 'Set DUMP_PATH variable.'
|
21
|
+
end
|
22
|
+
|
23
|
+
def run
|
24
|
+
infov 'Instance to dump', "#{instance} (#{instance.class})"
|
25
|
+
if package_dump.runnable?
|
26
|
+
package_dump.run
|
27
|
+
else
|
28
|
+
warn(package_dump.cannot_run_reason)
|
29
|
+
end
|
30
|
+
success("Dump path: \"#{dump_path}\"")
|
31
|
+
dump_path
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def instance
|
37
|
+
runner_context.call(:instance)
|
38
|
+
end
|
39
|
+
|
40
|
+
def package_dump_uncached
|
41
|
+
instance
|
42
|
+
.data_package.dump(dump_path, existing: package_dump_existing)
|
43
|
+
end
|
44
|
+
|
45
|
+
def dump_path
|
46
|
+
parsed.dump_path || default_dump_path
|
47
|
+
end
|
48
|
+
|
49
|
+
def default_dump_path
|
50
|
+
instance.read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
|
51
|
+
end
|
52
|
+
|
53
|
+
def package_dump_existing
|
54
|
+
if parsed.rewrite?
|
55
|
+
::Avm::Data::Package::Dump::EXISTING_ROTATE
|
56
|
+
else
|
57
|
+
::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/core_ext/numeric/time'
|
4
|
+
require 'eac_cli/speaker'
|
5
|
+
require 'eac_ruby_utils/simple_cache'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacWebappBase0
|
9
|
+
module Instances
|
10
|
+
module Runners
|
11
|
+
class Data
|
12
|
+
class Load
|
13
|
+
runner_with :help do
|
14
|
+
desc 'Load utility for EacRailsBase instance.'
|
15
|
+
arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
|
16
|
+
pos_arg :dump_path, optional: true
|
17
|
+
end
|
18
|
+
|
19
|
+
def run
|
20
|
+
return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
|
21
|
+
::File.exist?(dump_path)
|
22
|
+
|
23
|
+
load_dump
|
24
|
+
success("Dump loaded from \"#{dump_path}\"")
|
25
|
+
end
|
26
|
+
|
27
|
+
def dump_path_uncached
|
28
|
+
return parsed.dump_path.to_s if parsed.dump_path.present?
|
29
|
+
return source_instance_dump_path if parsed.source_instance.present?
|
30
|
+
|
31
|
+
raise "Dump path unknown (Options: #{parsed})"
|
32
|
+
end
|
33
|
+
|
34
|
+
def source_instance_dump_path
|
35
|
+
runner_context.call(:instance).class.by_id(parsed.source_instance).data_dump
|
36
|
+
end
|
37
|
+
|
38
|
+
def load_dump
|
39
|
+
info "Loading dump \"#{dump_path}\"..."
|
40
|
+
package_load.run
|
41
|
+
end
|
42
|
+
|
43
|
+
def dump_instance_method
|
44
|
+
:dump_database
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def package_load_uncached
|
50
|
+
runner_context.call(:instance).data_package.load(dump_path)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacWebappBase0
|
7
|
+
module Instances
|
8
|
+
module Runners
|
9
|
+
class Data
|
10
|
+
require_sub __FILE__
|
11
|
+
runner_with :help, :subcommands do
|
12
|
+
desc 'Data utilities for EacRailsBase0 instances.'
|
13
|
+
subcommands
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-eac_webapp_base0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,70 +16,76 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.35'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.35.1
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
29
|
+
version: '0.35'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.35.1
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: avm-eac_generic_base0
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
39
|
+
version: '0.5'
|
34
40
|
type: :runtime
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
44
|
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
46
|
+
version: '0.5'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: avm-eac_postgresql_base0
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
53
|
+
version: '0.2'
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
60
|
+
version: '0.2'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: avm-eac_ubuntu_base0
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
67
|
+
version: '0.3'
|
62
68
|
type: :runtime
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
74
|
+
version: '0.3'
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
76
|
name: eac_ruby_utils
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
81
|
+
version: '0.98'
|
76
82
|
type: :runtime
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0.
|
88
|
+
version: '0.98'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: eac_ruby_gem_support
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,14 +116,15 @@ files:
|
|
110
116
|
- lib/avm/eac_webapp_base0/deploy/git_info.rb
|
111
117
|
- lib/avm/eac_webapp_base0/deploy/version.rb
|
112
118
|
- lib/avm/eac_webapp_base0/deploy/write_on_target.rb
|
113
|
-
- lib/avm/eac_webapp_base0/
|
114
|
-
- lib/avm/eac_webapp_base0/
|
119
|
+
- lib/avm/eac_webapp_base0/instances/base.rb
|
120
|
+
- lib/avm/eac_webapp_base0/instances/base/subcommand_parent.rb
|
121
|
+
- lib/avm/eac_webapp_base0/instances/runners.rb
|
122
|
+
- lib/avm/eac_webapp_base0/instances/runners/data.rb
|
123
|
+
- lib/avm/eac_webapp_base0/instances/runners/data/dump.rb
|
124
|
+
- lib/avm/eac_webapp_base0/instances/runners/data/load.rb
|
115
125
|
- lib/avm/eac_webapp_base0/runner.rb
|
116
126
|
- lib/avm/eac_webapp_base0/runner/apache_host.rb
|
117
127
|
- lib/avm/eac_webapp_base0/runner/apache_path.rb
|
118
|
-
- lib/avm/eac_webapp_base0/runner/data.rb
|
119
|
-
- lib/avm/eac_webapp_base0/runner/data/dump.rb
|
120
|
-
- lib/avm/eac_webapp_base0/runner/data/load.rb
|
121
128
|
- lib/avm/eac_webapp_base0/runner/deploy.rb
|
122
129
|
- lib/avm/eac_webapp_base0/sources.rb
|
123
130
|
- lib/avm/eac_webapp_base0/sources/base.rb
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacWebappBase0
|
7
|
-
class Instance < ::Avm::Instances::Base
|
8
|
-
class SubcommandParent
|
9
|
-
enable_simple_cache
|
10
|
-
common_constructor :instance
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def runner_context_uncached
|
15
|
-
::EacCli::Runner::Context.new(self, argv: runner_argv)
|
16
|
-
end
|
17
|
-
|
18
|
-
def runner_argv
|
19
|
-
[instance.class.name.split('::')[-2].dasherize, instance.id]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/instances/base'
|
4
|
-
require 'avm/eac_postgresql_base0/instance_with'
|
5
|
-
require 'avm/data/instance/files_unit'
|
6
|
-
require 'avm/data/instance/package'
|
7
|
-
require 'avm/eac_webapp_base0/deploy/file_unit'
|
8
|
-
|
9
|
-
module Avm
|
10
|
-
module EacWebappBase0
|
11
|
-
class Instance < ::Avm::Instances::Base
|
12
|
-
require_sub __FILE__
|
13
|
-
include ::Avm::EacPostgresqlBase0::InstanceWith
|
14
|
-
|
15
|
-
FILES_UNITS = [].freeze
|
16
|
-
|
17
|
-
def stereotype_name
|
18
|
-
self.class.name.desconstantize.demodulize
|
19
|
-
end
|
20
|
-
|
21
|
-
def data_dump(argv = [])
|
22
|
-
run_subcommand(::Avm::Tools::Runner::EacWordpressBase0::Data::Dump, argv)
|
23
|
-
end
|
24
|
-
|
25
|
-
def data_dump_runner_class
|
26
|
-
"::Avm::Tools::Runner::#{stereotype_name}::Data::Dump".constantize
|
27
|
-
end
|
28
|
-
|
29
|
-
def run_subcommand(subcommand_class, argv)
|
30
|
-
subcommand_class.create(
|
31
|
-
argv: argv,
|
32
|
-
parent: ::Avm::EacWebappBase0::Instance::SubcommandParent.new(self)
|
33
|
-
).run
|
34
|
-
end
|
35
|
-
|
36
|
-
def data_package
|
37
|
-
@data_package ||= ::Avm::Data::Instance::Package.new(
|
38
|
-
self, units: { database: database_unit }.merge(files_units)
|
39
|
-
)
|
40
|
-
end
|
41
|
-
|
42
|
-
def database_unit
|
43
|
-
pg.data_unit
|
44
|
-
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
|
-
def files_units
|
49
|
-
self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
|
50
|
-
::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/data/package/dump'
|
4
|
-
require 'eac_cli/core_ext'
|
5
|
-
|
6
|
-
module Avm
|
7
|
-
module EacWebappBase0
|
8
|
-
class Runner < ::Avm::Instances::Runner
|
9
|
-
class Data
|
10
|
-
class Dump
|
11
|
-
DUMP_EXPIRE_TIME = 1.day
|
12
|
-
DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
|
13
|
-
NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
|
14
|
-
'dump was expired.'
|
15
|
-
|
16
|
-
runner_with :help do
|
17
|
-
desc 'Dump utility for EacRailsBase instance.'
|
18
|
-
bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
|
19
|
-
arg_opt '-p', '--dump-path', 'Set DUMP_PATH variable.'
|
20
|
-
end
|
21
|
-
|
22
|
-
def run
|
23
|
-
infov 'Instance to dump', "#{instance} (#{instance.class})"
|
24
|
-
if package_dump.runnable?
|
25
|
-
package_dump.run
|
26
|
-
else
|
27
|
-
warn(package_dump.cannot_run_reason)
|
28
|
-
end
|
29
|
-
success("Dump path: \"#{dump_path}\"")
|
30
|
-
dump_path
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
def instance
|
36
|
-
runner_context.call(:instance)
|
37
|
-
end
|
38
|
-
|
39
|
-
def package_dump_uncached
|
40
|
-
instance
|
41
|
-
.data_package.dump(dump_path, existing: package_dump_existing)
|
42
|
-
end
|
43
|
-
|
44
|
-
def dump_path
|
45
|
-
parsed.dump_path || default_dump_path
|
46
|
-
end
|
47
|
-
|
48
|
-
def default_dump_path
|
49
|
-
instance.read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
|
50
|
-
end
|
51
|
-
|
52
|
-
def package_dump_existing
|
53
|
-
if parsed.rewrite?
|
54
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE
|
55
|
-
else
|
56
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'active_support/core_ext/numeric/time'
|
4
|
-
require 'eac_cli/speaker'
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module EacWebappBase0
|
9
|
-
class Runner < ::Avm::Instances::Runner
|
10
|
-
class Data
|
11
|
-
class Load
|
12
|
-
runner_with :help do
|
13
|
-
desc 'Load utility for EacRailsBase instance.'
|
14
|
-
arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
|
15
|
-
pos_arg :dump_path, optional: true
|
16
|
-
end
|
17
|
-
|
18
|
-
def run
|
19
|
-
return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
|
20
|
-
::File.exist?(dump_path)
|
21
|
-
|
22
|
-
load_dump
|
23
|
-
success("Dump loaded from \"#{dump_path}\"")
|
24
|
-
end
|
25
|
-
|
26
|
-
def dump_path_uncached
|
27
|
-
return parsed.dump_path.to_s if parsed.dump_path.present?
|
28
|
-
return source_instance_dump_path if parsed.source_instance.present?
|
29
|
-
|
30
|
-
raise "Dump path unknown (Options: #{parsed})"
|
31
|
-
end
|
32
|
-
|
33
|
-
def source_instance_dump_path
|
34
|
-
runner_context.call(:instance).class.by_id(parsed.source_instance).data_dump
|
35
|
-
end
|
36
|
-
|
37
|
-
def load_dump
|
38
|
-
info "Loading dump \"#{dump_path}\"..."
|
39
|
-
package_load.run
|
40
|
-
end
|
41
|
-
|
42
|
-
def dump_instance_method
|
43
|
-
:dump_database
|
44
|
-
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
|
-
def package_load_uncached
|
49
|
-
runner_context.call(:instance).data_package.load(dump_path)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacWebappBase0
|
7
|
-
class Runner < ::Avm::Instances::Runner
|
8
|
-
class Data
|
9
|
-
require_sub __FILE__
|
10
|
-
runner_with :help, :subcommands do
|
11
|
-
desc 'Data utilities for EacRailsBase0 instances.'
|
12
|
-
subcommands
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|