spectacles 7.0.0 → 7.1.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebcfad8ca1527984b7bf22860daf4656fe0db3b78b986b065e6286b8f2c7e943
|
4
|
+
data.tar.gz: 4a87cb7d3dee9023221a0bed897e29e7592f38b81f554030b4fe504ad6e985c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d2a1aefe4922fcf1c1629423663abf5e3ed30da482bf2921dc2a732a72dd98754c24e9632b2d75a35ee4f1694aa72fc90138983f6a54906828bc85145598259
|
7
|
+
data.tar.gz: 6e37baa5ae6ea93119ccdae0e8ad588e98f25b34b110f5bdccaef3467cb4da3d57d00125d58ccd70c25dd798e41f10f0ac642d11f09e02135e1bf5e3d01f5d24
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [7.1.0] – 2024-11-27
|
9
|
+
|
10
|
+
- Require Rails 7.1
|
11
|
+
|
8
12
|
## [7.0.0] – 2024-11-26
|
9
13
|
|
10
14
|
- Add support for dumping views from multiple schemas in Postgres ([#32](https://github.com/liveh2o/spectacles/pull/32))
|
@@ -3,34 +3,14 @@ module Spectacles
|
|
3
3
|
module Mysql2Adapter
|
4
4
|
include Spectacles::SchemaStatements::AbstractAdapter
|
5
5
|
|
6
|
-
# overrides the #tables method from ActiveRecord's MysqlAdapter
|
7
|
-
# to return only tables, and not views.
|
8
|
-
def tables(name = nil, database = nil, like = nil)
|
9
|
-
database = database ? quote_table_name(database) : "DATABASE()"
|
10
|
-
by_name = like ? "AND table_name LIKE #{quote(like)}" : ""
|
11
|
-
|
12
|
-
sql = <<-SQL.squish
|
13
|
-
SELECT table_name, table_type
|
14
|
-
FROM information_schema.tables
|
15
|
-
WHERE table_schema = #{database}
|
16
|
-
AND table_type = 'BASE TABLE'
|
17
|
-
#{by_name}
|
18
|
-
SQL
|
19
|
-
|
20
|
-
execute_and_free(sql, "SCHEMA") do |result|
|
21
|
-
rows_from(result).map(&:first)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
6
|
def views(name = nil) # :nodoc:
|
26
7
|
result = execute("SHOW FULL TABLES WHERE TABLE_TYPE='VIEW'")
|
27
|
-
|
28
|
-
rows_from(result).map(&:first)
|
8
|
+
values_from(result).map(&:first)
|
29
9
|
end
|
30
10
|
|
31
11
|
def view_build_query(view, name = nil)
|
32
12
|
result = execute("SHOW CREATE VIEW #{view}", name)
|
33
|
-
algorithm_string =
|
13
|
+
algorithm_string = values_from(result).first[1]
|
34
14
|
|
35
15
|
algorithm_string.gsub(/CREATE .*? (AS)+/i, "")
|
36
16
|
rescue ActiveRecord::StatementInvalid => e
|
@@ -39,8 +19,8 @@ module Spectacles
|
|
39
19
|
|
40
20
|
private
|
41
21
|
|
42
|
-
def
|
43
|
-
result.respond_to?(:
|
22
|
+
def values_from(result)
|
23
|
+
result.first.respond_to?(:values) ? result.map(&:values) : result
|
44
24
|
end
|
45
25
|
end
|
46
26
|
end
|
@@ -5,21 +5,6 @@ module Spectacles
|
|
5
5
|
module SQLite3Adapter
|
6
6
|
include Spectacles::SchemaStatements::AbstractAdapter
|
7
7
|
|
8
|
-
# overrides the #tables method from ActiveRecord's SQLite3Adapter
|
9
|
-
# to return only tables, and not views.
|
10
|
-
def tables(name = nil, table_name = nil)
|
11
|
-
sql = <<-SQL
|
12
|
-
SELECT name
|
13
|
-
FROM sqlite_master
|
14
|
-
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
15
|
-
SQL
|
16
|
-
sql << " AND name = #{quote_table_name(table_name)}" if table_name
|
17
|
-
|
18
|
-
exec_query(sql, "SCHEMA").map do |row|
|
19
|
-
row["name"]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
8
|
def generate_view_query(*columns)
|
24
9
|
<<-SQL
|
25
10
|
SELECT #{columns.join(",")}
|
data/lib/spectacles/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spectacles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Hutchison, Brandon Dewitt
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.
|
19
|
+
version: 7.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.
|
26
|
+
version: 7.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 7.
|
33
|
+
version: 7.1.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 7.
|
40
|
+
version: 7.1.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
132
|
- !ruby/object:Gem::Version
|
133
133
|
version: '0'
|
134
134
|
requirements: []
|
135
|
-
rubygems_version: 3.4.
|
135
|
+
rubygems_version: 3.4.22
|
136
136
|
signing_key:
|
137
137
|
specification_version: 4
|
138
138
|
summary: Spectacles adds database view functionality to ActiveRecord.
|