avm-tools 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c972632849ad1e0d395436ad4cde63a1b2a43b0805a8e1f7bd36dbc1b40c15b5
4
- data.tar.gz: 6156864dc1c49ca5e16112420ff78e15a16c59e48246068247bb44646083d6bc
3
+ metadata.gz: 6dcd2489e79afff9fd8e2473e480008147176e85070d6a7dc92f027fbf90ef3d
4
+ data.tar.gz: 407dceebca4bc87475bc021eeff317e0c25e7a56539db3ca8b81945197ecdecb
5
5
  SHA512:
6
- metadata.gz: b3ab6bd6d4e2111ebd6cdf99654fbbe92c3725d529d19bd6a860c4a80136cab8d96e50339f32e3490738d2159c4364e7524ed6136351234e2529c00c1c055996
7
- data.tar.gz: 7c5bcf61a66dd32bf686ca428c1c7e5197c5f06acdce5415c7a2d840e658f3c7d0f10c56d8c40b15996b7f758b7ad8f805fa979365ea86d4805ed44831d51eb0
6
+ metadata.gz: 421bd354a68bb427077c50265c2e62a805e2dc256b7eb48ee440873a5a4289042a9fff2e6c5f30d1726a1e64fd3d29a7d4c7bc0530ee19eeca727083a0a1fad2
7
+ data.tar.gz: a5d9c7a087a3e1c59dea4aebe05d658a9033b4f871b3e929345ab809a63666c43412f9f6f36d31e3abba3cb4586c1da243695eeae8bdc77bd48d02e0e951bc19
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/console/docopt_runner'
4
4
  require 'avm/tools/runner/eac_wordpress_base0/data/dump'
5
+ require 'avm/tools/runner/eac_wordpress_base0/data/load'
5
6
 
6
7
  module Avm
7
8
  module Tools
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/numeric/time'
4
+ require 'eac_ruby_utils/console/speaker'
5
+ require 'eac_ruby_utils/simple_cache'
6
+
7
+ module Avm
8
+ module Tools
9
+ class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class EacWordpressBase0 < ::EacRubyUtils::Console::DocoptRunner
11
+ class Data < ::EacRubyUtils::Console::DocoptRunner
12
+ class Load < ::EacRubyUtils::Console::DocoptRunner
13
+ include ::EacRubyUtils::SimpleCache
14
+ include ::EacRubyUtils::Console::Speaker
15
+
16
+ DOC = <<~DOCUMENT
17
+ Load utility for EacRailsBase instance.
18
+
19
+ Usage:
20
+ __PROGRAM__ <dump-path>
21
+ DOCUMENT
22
+
23
+ def run
24
+ return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
25
+ ::File.exist?(dump_path)
26
+
27
+ before_load
28
+ load_dump
29
+ success("Dump loaded from \"#{dump_path}\"")
30
+ end
31
+
32
+ def dump_path_uncached
33
+ options.fetch('<dump-path>').to_s
34
+ end
35
+
36
+ def load_dump
37
+ info "Loading dump \"#{dump_path}\"..."
38
+ ::EacRubyUtils::Envs.local.command('cat', dump_path).pipe(load_command).execute!
39
+ end
40
+
41
+ def dump_instance_method
42
+ :dump_database
43
+ end
44
+
45
+ def before_load
46
+ info 'Clearing database (Dropping all tables)...'
47
+ sql = run_sql(drop_all_tables_sql)
48
+ run_sql(sql) if sql.present?
49
+ end
50
+
51
+ def drop_all_tables_sql
52
+ "select 'drop table \"' || tablename || '\" cascade;' from pg_tables " \
53
+ "where schemaname = 'public';"
54
+ end
55
+
56
+ def run_sql(sql)
57
+ context(:instance).pg.psql_command_command(sql).execute!
58
+ end
59
+
60
+ def load_command
61
+ context(:instance).pg.psql_command.prepend(['gzip', '-d', '@ESC_|'])
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.3.0'
5
+ VERSION = '0.4.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
@@ -115,6 +115,7 @@ files:
115
115
  - lib/avm/tools/runner/eac_wordpress_base0.rb
116
116
  - lib/avm/tools/runner/eac_wordpress_base0/data.rb
117
117
  - lib/avm/tools/runner/eac_wordpress_base0/data/dump.rb
118
+ - lib/avm/tools/runner/eac_wordpress_base0/data/load.rb
118
119
  - lib/avm/tools/runner/files.rb
119
120
  - lib/avm/tools/runner/files/rotate.rb
120
121
  - lib/avm/tools/runner/git.rb