avm-eac_webapp_base0 0.2.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|