schema_plus_pg_indexes 0.3.1 → 0.3.2
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 +5 -5
- data/.travis.yml +1 -0
- data/README.md +29 -1
- data/gemfiles/activerecord-5.0/Gemfile.postgresql +2 -2
- data/gemfiles/activerecord-5.1/Gemfile.postgresql +2 -2
- data/gemfiles/activerecord-5.2/Gemfile.base +3 -0
- data/gemfiles/activerecord-5.2/Gemfile.postgresql +10 -0
- data/lib/schema_plus_pg_indexes.rb +12 -6
- data/lib/schema_plus_pg_indexes/active_record/connection_adapters/index_definition.rb +1 -1
- data/lib/schema_plus_pg_indexes/active_record/connection_adapters/index_definition_5_2.rb +36 -0
- data/lib/schema_plus_pg_indexes/middleware/postgresql/migration_5_2.rb +25 -0
- data/lib/schema_plus_pg_indexes/middleware/postgresql/sql.rb +1 -1
- data/lib/schema_plus_pg_indexes/version.rb +1 -1
- data/schema_dev.yml +1 -0
- data/schema_plus_pg_indexes.gemspec +11 -2
- data/spec/deprecation_spec.rb +22 -1
- data/spec/index_definition_spec.rb +1 -1
- data/spec/index_spec.rb +51 -39
- data/spec/schema_dumper_spec.rb +1 -1
- data/spec/schema_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -0
- metadata +22 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 12fd5f77a962549c53f4bbeadf41e9a875e5c0c1a1f9f7b7235dcd01e47eab01
|
4
|
+
data.tar.gz: 63818b97c17311c3184472be36e8d55b4e4d49b1e7c9d38605128bd949d48ef6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05ff45aeac37ebb1b4303b2d69c3717355f238bf92e6de5445c27685d2c0552a7d1dcb2dd71da0abc37ca2b0ab18bf5ba58a2a7745ffc50ca30e9216422c356b
|
7
|
+
data.tar.gz: 5689752edfb5939e32d3334da14c00756c69772e0efbe7444eaa3ce70ccad049b749fc00b5a42f24fd393266df3f80ac31ca7a90ad2d21002efa8b26263e3860
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -3,13 +3,39 @@
|
|
3
3
|
[](https://coveralls.io/r/SchemaPlus/schema_plus_pg_indexes)
|
4
4
|
[](https://gemnasium.com/SchemaPlus/schema_plus_pg_indexes)
|
5
5
|
|
6
|
+
# Deprecated for Rails 5.2+
|
7
|
+
|
8
|
+
As of ActiveRecord 5.2 all of the functionality provided by this gem is supported in the core ActiveRecord.
|
9
|
+
|
10
|
+
This gem can still be added to a Rails 5.2 project to maintain backward compatibility while migrating.
|
11
|
+
However it will not be supported in future Rails versions.
|
12
|
+
The schema_plus_indexes gem can still be used to support the shortcut index syntax.
|
13
|
+
|
14
|
+
Migrations can be written as
|
15
|
+
|
16
|
+
# instead of expression: 'upper(last_name)'
|
17
|
+
t.string :last_name
|
18
|
+
t.index 'upper(last_name)', name: 'index_my_table_on_last_name'
|
19
|
+
|
20
|
+
# instead of operator_class: 'varchar_pattern_ops'
|
21
|
+
t.string :last_name, index: { opclass: 'varchar_pattern_ops' }
|
22
|
+
|
23
|
+
# instead of operator_class {last_name: 'varchar_pattern_ops', address: 'text_pattern_ops' }
|
24
|
+
t.string :last_name, index: { with: :address, opclass: {last_name: 'varchar_pattern_ops', address: 'text_pattern_ops' } }
|
25
|
+
|
26
|
+
# instead of case_sensitive: false
|
27
|
+
t.string :last_name
|
28
|
+
t.index 'lower(last_name)', name: 'index_my_table_on_last_name'
|
29
|
+
|
30
|
+
After updating all of your migrations you can replace schema_plus_pg_indexes with schema_plus_indexes to continue to use the shortcut syntax.
|
31
|
+
|
6
32
|
# schema_plus_pg_indexes
|
7
33
|
|
8
34
|
Schema_plus_pg_indexes adds into `ActiveRecord` support for some additional PostgreSQL index features: expressions, operator classes, and case-insensitive indexes:
|
9
35
|
|
10
36
|
t.string :last_name, index: { expression: 'upper(last_name)' }
|
11
37
|
t.string :last_name, index: { operator_class: 'varchar_pattern_ops' }
|
12
|
-
t.string :last_name, index: { with: :address, operator_class: {last_name: 'varchar_pattern_ops', address: 'text_pattern_ops' }
|
38
|
+
t.string :last_name, index: { with: :address, operator_class: {last_name: 'varchar_pattern_ops', address: 'text_pattern_ops' } }
|
13
39
|
t.string :last_name, index: { case_sensitive: false }
|
14
40
|
|
15
41
|
t.index expression: 'upper(last_name)', name: 'my_index' # no column given, must give a name
|
@@ -57,11 +83,13 @@ schema_plus_pg_indexes is tested on
|
|
57
83
|
<!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
|
58
84
|
* ruby **2.3.1** with activerecord **5.0**, using **postgresql**
|
59
85
|
* ruby **2.3.1** with activerecord **5.1**, using **postgresql**
|
86
|
+
* ruby **2.3.1** with activerecord **5.2**, using **postgresql**
|
60
87
|
|
61
88
|
<!-- SCHEMA_DEV: MATRIX - end -->
|
62
89
|
|
63
90
|
## Release Notes
|
64
91
|
|
92
|
+
* v0.3.2 - Add Rails 5.2 support and deprecate gem.
|
65
93
|
* v0.3.1 - Bug fix: schema dump for complex order clause (#19). Thanks to [@joxxoxo](https://github.com/joxxoxo).
|
66
94
|
* v0.3.0 - Added Rails 5.1.0 support
|
67
95
|
* v0.2.1 - Added Rails 5.0.1 support (Removed Rails 5.0.0 support)
|
@@ -1,12 +1,18 @@
|
|
1
1
|
require 'schema_plus/indexes'
|
2
2
|
require 'its-it'
|
3
3
|
|
4
|
-
|
5
|
-
require_relative 'schema_plus_pg_indexes/active_record/connection_adapters/
|
6
|
-
require_relative 'schema_plus_pg_indexes/
|
7
|
-
require_relative 'schema_plus_pg_indexes/middleware/postgresql/
|
8
|
-
require_relative 'schema_plus_pg_indexes/middleware/postgresql/
|
9
|
-
require_relative 'schema_plus_pg_indexes/middleware/postgresql/
|
4
|
+
if Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new('5.2.0')
|
5
|
+
require_relative 'schema_plus_pg_indexes/active_record/connection_adapters/index_definition'
|
6
|
+
require_relative 'schema_plus_pg_indexes/active_record/connection_adapters/postgresql_adapter'
|
7
|
+
require_relative 'schema_plus_pg_indexes/middleware/postgresql/dumper'
|
8
|
+
require_relative 'schema_plus_pg_indexes/middleware/postgresql/migration'
|
9
|
+
require_relative 'schema_plus_pg_indexes/middleware/postgresql/sql'
|
10
|
+
require_relative 'schema_plus_pg_indexes/middleware/postgresql/schema'
|
11
|
+
else
|
12
|
+
ActiveSupport::Deprecation.warn('Schema+ PG Indexes is deprecated for ActiveRecord 5.2 and up. Please see the README.md for more details.')
|
13
|
+
require_relative 'schema_plus_pg_indexes/active_record/connection_adapters/index_definition_5_2'
|
14
|
+
require_relative 'schema_plus_pg_indexes/middleware/postgresql/migration_5_2'
|
15
|
+
end
|
10
16
|
require_relative 'schema_plus_pg_indexes/version'
|
11
17
|
|
12
18
|
SchemaMonkey.register SchemaPlusPgIndexes
|
@@ -3,7 +3,7 @@ module SchemaPlusPgIndexes
|
|
3
3
|
module ConnectionAdapters
|
4
4
|
#
|
5
5
|
# SchemaPlusPgIndexes extends the IndexDefinition object to return information
|
6
|
-
# case sensitivity,
|
6
|
+
# case sensitivity, expressions, and operator classes
|
7
7
|
module IndexDefinition
|
8
8
|
|
9
9
|
attr_accessor :expression
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module SchemaPlusPgIndexes
|
2
|
+
module ActiveRecord
|
3
|
+
module ConnectionAdapters
|
4
|
+
#
|
5
|
+
# SchemaPlusPgIndexes extends the IndexDefinition object to return information
|
6
|
+
# case sensitivity, expressions, and operator classes
|
7
|
+
module IndexDefinition
|
8
|
+
|
9
|
+
def case_sensitive?
|
10
|
+
ActiveSupport::Deprecation.warn "ActiveRecord IndexDefinition#case_sensitive? is deprecated, used lower(column) or a citext type instead"
|
11
|
+
true
|
12
|
+
end
|
13
|
+
|
14
|
+
def conditions
|
15
|
+
ActiveSupport::Deprecation.warn "ActiveRecord IndexDefinition#conditions is deprecated, used #where instead"
|
16
|
+
where
|
17
|
+
end
|
18
|
+
|
19
|
+
def kind
|
20
|
+
ActiveSupport::Deprecation.warn "ActiveRecord IndexDefinition#kind is deprecated, used #using.to_s instead"
|
21
|
+
using.to_s
|
22
|
+
end
|
23
|
+
|
24
|
+
def expression
|
25
|
+
ActiveSupport::Deprecation.warn "ActiveRecord IndexDefinition#expressions is deprecated, simply define them in the column instead"
|
26
|
+
nil
|
27
|
+
end
|
28
|
+
|
29
|
+
def operator_classes
|
30
|
+
ActiveSupport::Deprecation.warn "ActiveRecord IndexDefinition#operator_classes is deprecated, use #opclasses instead"
|
31
|
+
opclasses
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module SchemaPlusPgIndexes
|
2
|
+
module Middleware
|
3
|
+
module Postgresql
|
4
|
+
module Migration
|
5
|
+
|
6
|
+
module Index
|
7
|
+
# Deprecate args
|
8
|
+
def before(env)
|
9
|
+
{:conditions => :where, :kind => :using, :operator_classes => :opclasses}.each do |deprecated, proper|
|
10
|
+
if env.options[deprecated]
|
11
|
+
ActiveSupport::Deprecation.warn "ActiveRecord index option #{deprecated.inspect} is deprecated, use #{proper.inspect} instead"
|
12
|
+
env.options[proper] = env.options.delete(deprecated)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
if env.options[:expression]
|
17
|
+
ActiveSupport::Deprecation.warn "ActiveRecord index option expression is deprecated, simply define the expressions in :columns instead"
|
18
|
+
env.column_names << env.options.delete(:expression)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -14,7 +14,7 @@ module SchemaPlusPgIndexes
|
|
14
14
|
# The <tt>:case_sensitive => false</tt> option ties in with Rails built-in support for case-insensitive searching:
|
15
15
|
# validates_uniqueness_of :name, :case_sensitive => false
|
16
16
|
#
|
17
|
-
# Since
|
17
|
+
# Since <tt>:case_sensitive => false</tt> is implemented by
|
18
18
|
# using <tt>:expression</tt>, this raises an ArgumentError if both
|
19
19
|
# are specified simultaneously.
|
20
20
|
#
|
data/schema_dev.yml
CHANGED
@@ -17,14 +17,23 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
|
-
gem.
|
20
|
+
gem.post_install_message = <<EOF
|
21
|
+
ActiveRecord 5.2 supports all of the functionality provided by Schema+ PG Indexes (expression indexes,
|
22
|
+
operator classes, case insensitive indexes).
|
23
|
+
Thus this gem is now deprecated and will not be maintained for future ActiveRecord versions.
|
24
|
+
The rest of Schema+, however, is still being maintained.
|
25
|
+
|
26
|
+
Please see the README.md for more information on migrating your old migrations to AR 5.2 syntax so you can remove this gem.
|
27
|
+
EOF
|
28
|
+
|
29
|
+
gem.add_dependency "activerecord", ">= 5.0.1", "< 5.3"
|
21
30
|
gem.add_dependency "schema_plus_indexes", "~> 0.2", ">= 0.2.4"
|
22
31
|
gem.add_dependency "schema_plus_core", "~> 2.0"
|
23
32
|
gem.add_dependency "its-it", "~> 1.2"
|
24
33
|
|
25
34
|
gem.add_development_dependency "bundler", "~> 1.7"
|
26
35
|
gem.add_development_dependency "rake", "~> 10.0"
|
27
|
-
gem.add_development_dependency "rspec", "~> 3.0
|
36
|
+
gem.add_development_dependency "rspec", "~> 3.0"
|
28
37
|
gem.add_development_dependency "schema_dev", "~> 3.8"
|
29
38
|
gem.add_development_dependency "simplecov"
|
30
39
|
gem.add_development_dependency "simplecov-gem-profile"
|
data/spec/deprecation_spec.rb
CHANGED
@@ -24,6 +24,15 @@ describe 'Deprecations' do
|
|
24
24
|
index = User.indexes.first
|
25
25
|
expect(index.using).to eq using
|
26
26
|
end
|
27
|
+
|
28
|
+
it "deprecates :expression", rails_5_2: :only do
|
29
|
+
field = 'date(login_at)'
|
30
|
+
expect(ActiveSupport::Deprecation).to receive(:warn).with(/expression.*simply/)
|
31
|
+
# type is here only for the tests, not a real option
|
32
|
+
create_table User, :login_at => { type: :datetime, index: { expression: field } }
|
33
|
+
index = User.indexes.first
|
34
|
+
expect(index.columns).to include field
|
35
|
+
end
|
27
36
|
end
|
28
37
|
|
29
38
|
context "on IndexDefinition object" do
|
@@ -45,6 +54,17 @@ describe 'Deprecations' do
|
|
45
54
|
expect(index.using).to eq using # sanity check
|
46
55
|
expect(index.kind).to eq using.to_s
|
47
56
|
end
|
57
|
+
|
58
|
+
it "deprecates #expression", rails_5_2: :only do
|
59
|
+
field = 'date(login_at)'
|
60
|
+
# type is here only for the tests, not a real option
|
61
|
+
create_table User, :login_at => { type: :datetime }
|
62
|
+
migration.add_index User.table_name, field, name: 'index_login_date'
|
63
|
+
index = User.indexes.first
|
64
|
+
expect(ActiveSupport::Deprecation).to receive(:warn).with(/expression.*simply/)
|
65
|
+
expect(index.columns).to include field # sanity check
|
66
|
+
expect(index.expression).to be_nil
|
67
|
+
end
|
48
68
|
end
|
49
69
|
|
50
70
|
protected
|
@@ -53,7 +73,8 @@ describe 'Deprecations' do
|
|
53
73
|
migration.suppress_messages do
|
54
74
|
migration.create_table model.table_name, :force => true do |t|
|
55
75
|
columns_with_options.each_pair do |column, options|
|
56
|
-
|
76
|
+
type = options.delete(:type) || :string
|
77
|
+
t.send type, column, options
|
57
78
|
end
|
58
79
|
end
|
59
80
|
model.reset_column_information
|
data/spec/index_spec.rb
CHANGED
@@ -21,54 +21,66 @@ describe "index" do
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
24
|
+
fcontext 'rails 5.2 or newer', rails_5_2: :only do
|
25
|
+
it "should handle old arguments" do
|
26
|
+
add_index(:users, 'upper(login)', using: :hash, where: 'deleted_at is null', opclass: 'varchar_pattern_ops', :name => 'users_login_index')
|
27
|
+
index = User.indexes.first
|
28
|
+
expect(index.columns).to include("upper((login)::text)")
|
29
|
+
expect(index.where).to eq("(deleted_at IS NULL)")
|
30
|
+
expect(index.using).to eq(:hash)
|
31
|
+
end
|
30
32
|
end
|
31
33
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
34
|
+
context 'before rails 5.2', rails_5_2: :skip do
|
35
|
+
it "should assign expression, where and using" do
|
36
|
+
add_index(:users, :expression => "USING hash (upper(login)) WHERE deleted_at IS NULL", :name => 'users_login_index')
|
37
|
+
index = User.indexes.detect { |i| i.expression.present? }
|
38
|
+
expect(index.expression).to eq("upper((login)::text)")
|
39
|
+
expect(index.where).to eq("(deleted_at IS NULL)")
|
40
|
+
expect(index.using).to eq(:hash)
|
41
|
+
end
|
39
42
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
43
|
+
it "should allow to specify expression, where and using separately" do
|
44
|
+
add_index(:users, :using => "hash", :expression => "upper(login)", :where => "deleted_at IS NULL", :name => 'users_login_index')
|
45
|
+
index = User.indexes.detect { |i| i.expression.present? }
|
46
|
+
expect(index.expression).to eq("upper((login)::text)")
|
47
|
+
expect(index.where).to eq("(deleted_at IS NULL)")
|
48
|
+
expect(index.using).to eq(:hash)
|
49
|
+
end
|
44
50
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
51
|
+
it "should assign operator_class" do
|
52
|
+
add_index(:users, :login, :operator_class => 'varchar_pattern_ops')
|
53
|
+
expect(index_for(:login).operator_classes).to eq({"login" => 'varchar_pattern_ops'})
|
54
|
+
end
|
49
55
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
end
|
56
|
+
it "should assign multiple operator_classes" do
|
57
|
+
add_index(:users, [:login, :address], :operator_class => {:login => 'varchar_pattern_ops', :address => 'text_pattern_ops'})
|
58
|
+
expect(index_for([:login, :address]).operator_classes).to eq({"login" => 'varchar_pattern_ops', "address" => 'text_pattern_ops'})
|
59
|
+
end
|
55
60
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
+
it "should allow to specify actual expression only" do
|
62
|
+
add_index(:users, :expression => "upper(login)", :name => 'users_login_index')
|
63
|
+
index = User.indexes.detect { |i| i.name == 'users_login_index' }
|
64
|
+
expect(index.expression).to eq("upper((login)::text)")
|
65
|
+
end
|
61
66
|
|
62
|
-
|
63
|
-
|
64
|
-
|
67
|
+
it "should create proper sql with jsonb expressions (schema_plus #212)" do
|
68
|
+
add_index :users, :name => "json_expression", :using => :gin, :expression => "(json_col -> 'field')"
|
69
|
+
index = User.indexes.detect(&its.name == "json_expression")
|
70
|
+
expect(index.expression).to eq("(json_col -> 'field'::text)")
|
71
|
+
end
|
65
72
|
|
66
|
-
|
67
|
-
|
68
|
-
|
73
|
+
it "should raise if no column given and expression is missing" do
|
74
|
+
expect { add_index(:users, :name => 'users_login_index') }.to raise_error(ArgumentError, /expression/)
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should raise if expression without name is given" do
|
78
|
+
expect { add_index(:users, :expression => "upper(login)") }.to raise_error(ArgumentError, /name/)
|
79
|
+
end
|
69
80
|
|
70
|
-
|
71
|
-
|
81
|
+
it "should raise if expression is given and case_sensitive is false" do
|
82
|
+
expect { add_index(:users, :name => 'users_login_index', :expression => "upper(login)", :case_sensitive => false) }.to raise_error(ArgumentError, /use LOWER/i)
|
83
|
+
end
|
72
84
|
end
|
73
85
|
|
74
86
|
protected
|
data/spec/schema_dumper_spec.rb
CHANGED
data/spec/schema_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -16,6 +16,11 @@ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
|
|
16
16
|
|
17
17
|
RSpec.configure do |config|
|
18
18
|
config.include(SchemaPlusPgIndexesMatchers)
|
19
|
+
if Gem::Version.new(ActiveRecord::VERSION::STRING) >= Gem::Version.new('5.2.0')
|
20
|
+
config.filter_run_excluding rails_5_2: :skip
|
21
|
+
else
|
22
|
+
config.filter_run_excluding rails_5_2: :only
|
23
|
+
end
|
19
24
|
config.warnings = true
|
20
25
|
config.around(:each) do |example|
|
21
26
|
ActiveRecord::Migration.suppress_messages do
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_plus_pg_indexes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ronen barzel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '5.0'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: 5.0.1
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '5.3'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '5.0'
|
30
27
|
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: 5.0.1
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '5.3'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: schema_plus_indexes
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,14 +112,14 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: 3.0
|
115
|
+
version: '3.0'
|
116
116
|
type: :development
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 3.0
|
122
|
+
version: '3.0'
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
124
|
name: schema_dev
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,11 +180,15 @@ files:
|
|
180
180
|
- gemfiles/activerecord-5.0/Gemfile.postgresql
|
181
181
|
- gemfiles/activerecord-5.1/Gemfile.base
|
182
182
|
- gemfiles/activerecord-5.1/Gemfile.postgresql
|
183
|
+
- gemfiles/activerecord-5.2/Gemfile.base
|
184
|
+
- gemfiles/activerecord-5.2/Gemfile.postgresql
|
183
185
|
- lib/schema_plus_pg_indexes.rb
|
184
186
|
- lib/schema_plus_pg_indexes/active_record/connection_adapters/index_definition.rb
|
187
|
+
- lib/schema_plus_pg_indexes/active_record/connection_adapters/index_definition_5_2.rb
|
185
188
|
- lib/schema_plus_pg_indexes/active_record/connection_adapters/postgresql_adapter.rb
|
186
189
|
- lib/schema_plus_pg_indexes/middleware/postgresql/dumper.rb
|
187
190
|
- lib/schema_plus_pg_indexes/middleware/postgresql/migration.rb
|
191
|
+
- lib/schema_plus_pg_indexes/middleware/postgresql/migration_5_2.rb
|
188
192
|
- lib/schema_plus_pg_indexes/middleware/postgresql/schema.rb
|
189
193
|
- lib/schema_plus_pg_indexes/middleware/postgresql/sql.rb
|
190
194
|
- lib/schema_plus_pg_indexes/version.rb
|
@@ -202,7 +206,13 @@ homepage: https://github.com/SchemaPlus/schema_plus_pg_indexes
|
|
202
206
|
licenses:
|
203
207
|
- MIT
|
204
208
|
metadata: {}
|
205
|
-
post_install_message:
|
209
|
+
post_install_message: |
|
210
|
+
ActiveRecord 5.2 supports all of the functionality provided by Schema+ PG Indexes (expression indexes,
|
211
|
+
operator classes, case insensitive indexes).
|
212
|
+
Thus this gem is now deprecated and will not be maintained for future ActiveRecord versions.
|
213
|
+
The rest of Schema+, however, is still being maintained.
|
214
|
+
|
215
|
+
Please see the README.md for more information on migrating your old migrations to AR 5.2 syntax so you can remove this gem.
|
206
216
|
rdoc_options: []
|
207
217
|
require_paths:
|
208
218
|
- lib
|
@@ -218,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
228
|
version: '0'
|
219
229
|
requirements: []
|
220
230
|
rubyforge_project:
|
221
|
-
rubygems_version: 2.
|
231
|
+
rubygems_version: 2.7.8
|
222
232
|
signing_key:
|
223
233
|
specification_version: 4
|
224
234
|
summary: Adds support in ActiveRecord for PostgreSQL index expressions and operator
|