schema_plus 1.5.0 → 1.5.1
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/README.md +6 -1
- data/lib/schema_plus/active_record/schema_dumper.rb +1 -0
- data/lib/schema_plus/version.rb +1 -1
- data/spec/views_spec.rb +11 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14f770e20ed8fc7090ddc3fd58e95976e6a6ae13
|
4
|
+
data.tar.gz: 999f0ad6bd7a1346dda3ebc152ec2a0f7a430488
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33fdfaee05d32853f87112adc5d156970f4d5bddec6c2f8379a283ad16cf6e9eb3e5adfb84dbf60af476e340f51c15ab6f53d2336877226e670602bbf141d35e
|
7
|
+
data.tar.gz: 3ff056bfd48ea22a5004f3f6760d4bec52127bde7040b65082f2de86fcf00b1353be1a1f46a6b1d37dc04ab87ef0cb6f8146578d985cb126d118b77a670dc124
|
data/README.md
CHANGED
@@ -76,7 +76,7 @@ You can also create multi-column indexes, for example:
|
|
76
76
|
|
77
77
|
t.string :country_code
|
78
78
|
t.string :area_code
|
79
|
-
t.string :local_number index: { with: [:country_code, :area_code], unique: true }
|
79
|
+
t.string :local_number, index: { with: [:country_code, :area_code], unique: true }
|
80
80
|
|
81
81
|
And you can specify index orders:
|
82
82
|
|
@@ -298,6 +298,11 @@ of foreign key constraints, you can re-enable it:
|
|
298
298
|
|
299
299
|
* *nothing currently waiting to be released*
|
300
300
|
|
301
|
+
|
302
|
+
### 1.5.1
|
303
|
+
|
304
|
+
* Now respects ActiveRecord::SchemaDumper.ignore_tables for views (issue #153)
|
305
|
+
|
301
306
|
### 1.5.0
|
302
307
|
* Can now be used with activerecord standalone, doesn't need all of rails.
|
303
308
|
* `views` ignores postgres internal views, thanks to [@everplays](https://github.com/everplays) (issue #147)
|
@@ -52,6 +52,7 @@ module SchemaPlus
|
|
52
52
|
tables_without_schema_plus(nil)
|
53
53
|
|
54
54
|
@connection.views.each do |view_name|
|
55
|
+
next if Array.wrap(::ActiveRecord::SchemaDumper.ignore_tables).any? {|pattern| view_name.match pattern}
|
55
56
|
definition = @connection.view_definition(view_name)
|
56
57
|
@table_dumps[view_name] = " create_view #{view_name.inspect}, #{definition.inspect}, :force => true\n"
|
57
58
|
end
|
data/lib/schema_plus/version.rb
CHANGED
data/spec/views_spec.rb
CHANGED
@@ -17,13 +17,6 @@ describe ActiveRecord do
|
|
17
17
|
|
18
18
|
let(:connection) { ActiveRecord::Base.connection }
|
19
19
|
|
20
|
-
let (:dump) {
|
21
|
-
StringIO.open { |stream|
|
22
|
-
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
|
23
|
-
stream.string
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
20
|
context "views" do
|
28
21
|
|
29
22
|
around (:each) do |example|
|
@@ -59,6 +52,14 @@ describe ActiveRecord do
|
|
59
52
|
dump.should match(%r{create_table "items".*create_view "a_ones".*create_view "ab_ones"}m)
|
60
53
|
end
|
61
54
|
|
55
|
+
it "should not be included in schema if listed in ignore_tables" do
|
56
|
+
dump(ignore_tables: /b_/) do |dump|
|
57
|
+
dump.should match(%r{create_view "a_ones", "SELECT .*b.*,.*s.* FROM .*items.* WHERE .*a.* = 1.*, :force => true}i)
|
58
|
+
dump.should_not match(%r{"ab_ones"})
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
|
62
63
|
it "dump should not reference current database" do
|
63
64
|
# why check this? mysql default to providing the view definition
|
64
65
|
# with tables explicitly scoped to the current database, which
|
@@ -164,9 +165,11 @@ describe ActiveRecord do
|
|
164
165
|
end
|
165
166
|
end
|
166
167
|
|
167
|
-
def dump
|
168
|
+
def dump(opts={})
|
168
169
|
StringIO.open { |stream|
|
170
|
+
ActiveRecord::SchemaDumper.ignore_tables = Array.wrap(opts[:ignore_tables])
|
169
171
|
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
|
172
|
+
yield stream.string if block_given?
|
170
173
|
stream.string
|
171
174
|
}
|
172
175
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ronen Barzel
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-04-
|
12
|
+
date: 2014-04-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|