table_saw 0.2.1 → 0.3.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/.rubocop.yml +2 -0
- data/.travis.yml +2 -0
- data/Gemfile.lock +23 -1
- data/lib/table_saw/create_dump_file.rb +11 -2
- data/lib/table_saw/queries/materialized_views.rb +15 -0
- data/lib/table_saw/version.rb +1 -1
- data/table_saw.gemspec +2 -0
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce7f117d5db32cc1d9617f4f09126a60636519a1b8445ce2c65575120deac9db
|
4
|
+
data.tar.gz: 212a3f010918b397329ed3510c831898370865a60ee8949948b60f70f05f6a6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e11664a36c6c5a649d4f79ed4018b24b9681d68053a0187b5927582d24dbf1f62fa706511bd493fb19ff583316083f1fbac17173efdfec6feb13f8432188cd54
|
7
|
+
data.tar.gz: 6375f829abd5d21a7aee6f36891d1e0a1f2778dbf59eab9c42cde7817d22a34f0831cf733a9053d9a429149338cae782ee64029288197ec0414afc084450339a
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
table_saw (0.
|
4
|
+
table_saw (0.3.0)
|
5
5
|
connection_pool
|
6
6
|
pg
|
7
7
|
thor
|
@@ -34,6 +34,7 @@ GEM
|
|
34
34
|
minitest (~> 5.1)
|
35
35
|
tzinfo (~> 1.1)
|
36
36
|
arel (9.0.0)
|
37
|
+
ast (2.4.0)
|
37
38
|
builder (3.2.3)
|
38
39
|
combustion (1.1.0)
|
39
40
|
activesupport (>= 3.0.0)
|
@@ -48,6 +49,7 @@ GEM
|
|
48
49
|
erubi (1.8.0)
|
49
50
|
i18n (1.6.0)
|
50
51
|
concurrent-ruby (~> 1.0)
|
52
|
+
jaro_winkler (1.5.2)
|
51
53
|
json (2.2.0)
|
52
54
|
loofah (2.2.3)
|
53
55
|
crass (~> 1.0.2)
|
@@ -57,6 +59,9 @@ GEM
|
|
57
59
|
minitest (5.11.3)
|
58
60
|
nokogiri (1.10.3)
|
59
61
|
mini_portile2 (~> 2.4.0)
|
62
|
+
parallel (1.17.0)
|
63
|
+
parser (2.6.3.0)
|
64
|
+
ast (~> 2.4.0)
|
60
65
|
pg (1.1.4)
|
61
66
|
rack (2.0.7)
|
62
67
|
rack-test (1.1.0)
|
@@ -72,6 +77,7 @@ GEM
|
|
72
77
|
method_source
|
73
78
|
rake (>= 0.8.7)
|
74
79
|
thor (>= 0.19.0, < 2.0)
|
80
|
+
rainbow (3.0.0)
|
75
81
|
rake (10.5.0)
|
76
82
|
rspec (3.8.0)
|
77
83
|
rspec-core (~> 3.8.0)
|
@@ -86,6 +92,19 @@ GEM
|
|
86
92
|
diff-lcs (>= 1.2.0, < 2.0)
|
87
93
|
rspec-support (~> 3.8.0)
|
88
94
|
rspec-support (3.8.0)
|
95
|
+
rubocop (0.71.0)
|
96
|
+
jaro_winkler (~> 1.5.1)
|
97
|
+
parallel (~> 1.10)
|
98
|
+
parser (>= 2.6)
|
99
|
+
rainbow (>= 2.2.2, < 4.0)
|
100
|
+
ruby-progressbar (~> 1.7)
|
101
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
102
|
+
rubocop-rspec (1.33.0)
|
103
|
+
rubocop (>= 0.60.0)
|
104
|
+
ruby-progressbar (1.10.1)
|
105
|
+
scenic (1.5.1)
|
106
|
+
activerecord (>= 4.0.0)
|
107
|
+
railties (>= 4.0.0)
|
89
108
|
simplecov (0.16.1)
|
90
109
|
docile (~> 1.1)
|
91
110
|
json (>= 1.8, < 3)
|
@@ -95,6 +114,7 @@ GEM
|
|
95
114
|
thread_safe (0.3.6)
|
96
115
|
tzinfo (1.2.5)
|
97
116
|
thread_safe (~> 0.1)
|
117
|
+
unicode-display_width (1.6.0)
|
98
118
|
|
99
119
|
PLATFORMS
|
100
120
|
ruby
|
@@ -106,6 +126,8 @@ DEPENDENCIES
|
|
106
126
|
database_cleaner (~> 1.7)
|
107
127
|
rake (~> 10.0)
|
108
128
|
rspec (~> 3.0)
|
129
|
+
rubocop-rspec (~> 1.33)
|
130
|
+
scenic (~> 1.5)
|
109
131
|
simplecov (~> 0.16)
|
110
132
|
table_saw!
|
111
133
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'table_saw/queries/table_columns'
|
4
|
+
require 'table_saw/queries/materialized_views'
|
4
5
|
|
5
6
|
module TableSaw
|
6
7
|
class CreateDumpFile
|
@@ -11,7 +12,7 @@ module TableSaw
|
|
11
12
|
@file = file
|
12
13
|
end
|
13
14
|
|
14
|
-
# rubocop:disable Metrics/MethodLength
|
15
|
+
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize
|
15
16
|
def call
|
16
17
|
write_to_file <<~SQL
|
17
18
|
BEGIN;
|
@@ -51,12 +52,20 @@ module TableSaw
|
|
51
52
|
write_to_file "\n"
|
52
53
|
end
|
53
54
|
|
55
|
+
refresh_materialized_views
|
56
|
+
|
54
57
|
write_to_file 'COMMIT;'
|
55
58
|
end
|
56
|
-
# rubocop:enable Metrics/MethodLength
|
59
|
+
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize
|
57
60
|
|
58
61
|
private
|
59
62
|
|
63
|
+
def refresh_materialized_views
|
64
|
+
TableSaw::Queries::MaterializedViews.new.call.each do |view|
|
65
|
+
write_to_file "REFRESH MATERIALIZED VIEW #{view};"
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
60
69
|
def write_to_file(data)
|
61
70
|
File.open(file, 'ab') { |f| f.puts(data) }
|
62
71
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'table_saw/connection'
|
4
|
+
|
5
|
+
module TableSaw
|
6
|
+
module Queries
|
7
|
+
class MaterializedViews
|
8
|
+
def call
|
9
|
+
TableSaw::Connection.with do |conn|
|
10
|
+
conn.exec('select matviewname from pg_matviews order by matviewname').map { |row| row['matviewname'] }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/table_saw/version.rb
CHANGED
data/table_saw.gemspec
CHANGED
@@ -33,5 +33,7 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency 'database_cleaner', '~> 1.7'
|
34
34
|
spec.add_development_dependency 'rake', '~> 10.0'
|
35
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
36
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 1.33'
|
37
|
+
spec.add_development_dependency 'scenic', '~> 1.5'
|
36
38
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
37
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: table_saw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hamed Asghari
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: connection_pool
|
@@ -136,6 +136,34 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '3.0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop-rspec
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.33'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.33'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: scenic
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '1.5'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '1.5'
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: simplecov
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,6 +208,7 @@ files:
|
|
180
208
|
- lib/table_saw/create_dump_file.rb
|
181
209
|
- lib/table_saw/manifest.rb
|
182
210
|
- lib/table_saw/queries/foreign_key_relationships.rb
|
211
|
+
- lib/table_saw/queries/materialized_views.rb
|
183
212
|
- lib/table_saw/queries/no_id_tables.rb
|
184
213
|
- lib/table_saw/queries/table_columns.rb
|
185
214
|
- lib/table_saw/version.rb
|