schema_plus_pg_indexes 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Coverage Status](https://img.shields.io/coveralls/SchemaPlus/schema_plus_pg_indexes.svg)](https://coveralls.io/r/SchemaPlus/schema_plus_pg_indexes)
|
4
4
|
[![Dependency Status](https://gemnasium.com/SchemaPlus/schema_plus_pg_indexes.svg)](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
|