schema_plus_foreign_keys 0.1.6 → 1.0.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.
Files changed (55) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/prs.yml +134 -0
  3. data/.gitignore +1 -0
  4. data/.simplecov +20 -0
  5. data/Gemfile +4 -1
  6. data/README.md +49 -35
  7. data/Rakefile +3 -1
  8. data/gemfiles/Gemfile.base +1 -1
  9. data/gemfiles/activerecord-5.2/Gemfile.base +4 -0
  10. data/gemfiles/activerecord-5.2/Gemfile.mysql2 +10 -0
  11. data/gemfiles/activerecord-5.2/Gemfile.postgresql +10 -0
  12. data/gemfiles/{activerecord-4.2.0 → activerecord-5.2}/Gemfile.sqlite3 +3 -3
  13. data/gemfiles/activerecord-6.0/Gemfile.base +4 -0
  14. data/gemfiles/activerecord-6.0/Gemfile.mysql2 +10 -0
  15. data/gemfiles/activerecord-6.0/Gemfile.postgresql +10 -0
  16. data/gemfiles/{activerecord-4.2.6 → activerecord-6.0}/Gemfile.sqlite3 +3 -3
  17. data/lib/schema_plus/foreign_keys/active_record/base.rb +2 -0
  18. data/lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract/schema_creation.rb +20 -0
  19. data/lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract_adapter.rb +9 -47
  20. data/lib/schema_plus/foreign_keys/active_record/connection_adapters/foreign_key_definition.rb +4 -35
  21. data/lib/schema_plus/foreign_keys/active_record/connection_adapters/mysql2_adapter.rb +15 -16
  22. data/lib/schema_plus/foreign_keys/active_record/connection_adapters/postgresql_adapter.rb +8 -6
  23. data/lib/schema_plus/foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb +14 -6
  24. data/lib/schema_plus/foreign_keys/active_record/connection_adapters/table_definition.rb +10 -49
  25. data/lib/schema_plus/foreign_keys/active_record/migration/command_recorder.rb +4 -2
  26. data/lib/schema_plus/foreign_keys/middleware/dumper.rb +5 -3
  27. data/lib/schema_plus/foreign_keys/middleware/migration.rb +13 -5
  28. data/lib/schema_plus/foreign_keys/middleware/model.rb +2 -0
  29. data/lib/schema_plus/foreign_keys/middleware/mysql.rb +3 -1
  30. data/lib/schema_plus/foreign_keys/middleware/sql.rb +2 -15
  31. data/lib/schema_plus/foreign_keys/version.rb +3 -1
  32. data/lib/schema_plus/foreign_keys.rb +3 -1
  33. data/lib/schema_plus_foreign_keys.rb +2 -0
  34. data/schema_dev.yml +5 -4
  35. data/schema_plus_foreign_keys.gemspec +10 -8
  36. data/spec/deprecation_spec.rb +15 -112
  37. data/spec/foreign_key_definition_spec.rb +5 -3
  38. data/spec/foreign_key_spec.rb +26 -24
  39. data/spec/migration_spec.rb +73 -91
  40. data/spec/named_schemas_spec.rb +16 -14
  41. data/spec/schema_dumper_spec.rb +36 -35
  42. data/spec/spec_helper.rb +6 -4
  43. data/spec/support/reference.rb +3 -2
  44. metadata +48 -73
  45. data/.travis.yml +0 -24
  46. data/gemfiles/activerecord-4.2.0/Gemfile.base +0 -3
  47. data/gemfiles/activerecord-4.2.0/Gemfile.mysql2 +0 -10
  48. data/gemfiles/activerecord-4.2.0/Gemfile.postgresql +0 -10
  49. data/gemfiles/activerecord-4.2.1/Gemfile.base +0 -3
  50. data/gemfiles/activerecord-4.2.1/Gemfile.mysql2 +0 -10
  51. data/gemfiles/activerecord-4.2.1/Gemfile.postgresql +0 -10
  52. data/gemfiles/activerecord-4.2.1/Gemfile.sqlite3 +0 -10
  53. data/gemfiles/activerecord-4.2.6/Gemfile.base +0 -3
  54. data/gemfiles/activerecord-4.2.6/Gemfile.mysql2 +0 -10
  55. data/gemfiles/activerecord-4.2.6/Gemfile.postgresql +0 -10
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
- describe "with multiple schemas" do
5
+ describe "with multiple schemas", sqlite3: :skip do
4
6
  def connection
5
7
  ActiveRecord::Base.connection
6
8
  end
@@ -22,7 +24,7 @@ describe "with multiple schemas" do
22
24
 
23
25
  before(:each) do
24
26
  define_schema do
25
- create_table :users, :force => true do |t|
27
+ create_table :users, force: true do |t|
26
28
  t.string :login
27
29
  end
28
30
  end
@@ -56,8 +58,8 @@ describe "with multiple schemas" do
56
58
  end
57
59
 
58
60
  it "should not find foreign keys in other schema" do
59
- connection.create_table :comments, :force => true do |t|
60
- t.integer :user_id, :foreign_key => false
61
+ connection.create_table :comments, force: true do |t|
62
+ t.references :user, foreign_key: false
61
63
  end
62
64
  Comment.reset_column_information
63
65
  expect(Comment.foreign_keys.length).to eq(0)
@@ -66,8 +68,8 @@ describe "with multiple schemas" do
66
68
  end
67
69
 
68
70
  it "should find foreign keys in this schema" do
69
- connection.create_table :comments, :force => true do |t|
70
- t.integer :user_id, :foreign_key => true
71
+ connection.create_table :comments, force: true do |t|
72
+ t.references :user, foreign_key: true
71
73
  end
72
74
  Comment.reset_column_information
73
75
  expect(Comment.foreign_keys.map(&:column).flatten).to eq(["user_id"])
@@ -80,13 +82,13 @@ describe "with multiple schemas" do
80
82
  context "foreign key migrations" do
81
83
  before(:each) do
82
84
  define_schema do
83
- create_table "items", :force => true do |t|
85
+ create_table "items", force: true do |t|
84
86
  end
85
- create_table "schema_plus_test2.groups", :force => true do |t|
87
+ create_table "schema_plus_test2.groups", force: true do |t|
86
88
  end
87
- create_table "schema_plus_test2.members", :force => true do |t|
88
- t.integer :item_id, :foreign_key => true unless SchemaDev::Rspec::Helpers.mysql?
89
- t.integer :group_id, :foreign_key => { references: "schema_plus_test2.groups" }
89
+ create_table "schema_plus_test2.members", force: true do |t|
90
+ t.references :item, foreign_key: { name: 'fk_test2_members_items' } unless SchemaDev::Rspec::Helpers.mysql?
91
+ t.references :group, foreign_key: { name: 'fk_test2_members_groups', references: "schema_plus_test2.groups" }
90
92
  end
91
93
  end
92
94
  class Group < ::ActiveRecord::Base
@@ -122,13 +124,13 @@ describe "with multiple schemas" do
122
124
  expect(Member.foreign_keys.map(&:to_table)).to include "schema_plus_test2.groups"
123
125
  end
124
126
 
125
- it "should reference table in default schema", :mysql => :skip do
127
+ it "should reference table in default schema", mysql: :skip do
126
128
  expect(Member.foreign_keys.map(&:to_table)).to include "items"
127
129
  end
128
130
 
129
131
  it "should include the schema in the constraint name" do
130
- expected_names = ["fk_schema_plus_test2_members_group_id"]
131
- expected_names << "fk_schema_plus_test2_members_item_id" unless SchemaDev::Rspec::Helpers.mysql?
132
+ expected_names = ["fk_test2_members_groups"]
133
+ expected_names << "fk_test2_members_items" unless SchemaDev::Rspec::Helpers.mysql?
132
134
  expect(Member.foreign_keys.map(&:name).sort).to match_array(expected_names.sort)
133
135
  end
134
136
  end
@@ -1,23 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'stringio'
3
5
 
4
6
  describe "Schema dump" do
5
-
6
7
  before(:each) do
7
8
  ActiveRecord::Migration.suppress_messages do
8
9
  ActiveRecord::Schema.define do
9
- connection.tables.each do |table| drop_table table, force: :cascade end
10
+ connection.tables_only.each do |table| drop_table table, force: :cascade end
10
11
 
11
- create_table :users, :force => true do |t|
12
+ create_table :users, force: true do |t|
12
13
  t.string :login
13
14
  t.datetime :deleted_at
14
- t.integer :first_post_id, index: { unique: true }
15
+ t.references :first_post, index: { unique: true }
15
16
  end
16
17
 
17
- create_table :posts, :force => true do |t|
18
+ create_table :posts, force: true do |t|
18
19
  t.text :body
19
- t.integer :user_id
20
- t.integer :first_comment_id
20
+ t.references :user
21
+ t.references :first_comment
21
22
  t.string :string_no_default
22
23
  t.integer :short_id
23
24
  t.string :str_short
@@ -32,10 +33,10 @@ describe "Schema dump" do
32
33
  t.boolean :boolean_col
33
34
  end
34
35
 
35
- create_table :comments, :force => true do |t|
36
+ create_table :comments, force: true do |t|
36
37
  t.text :body
37
- t.integer :post_id
38
- t.integer :commenter_id
38
+ t.references :post
39
+ t.references :commenter
39
40
  end
40
41
  end
41
42
  end
@@ -53,25 +54,25 @@ describe "Schema dump" do
53
54
 
54
55
  it "should include foreign_key definition" do
55
56
  with_foreign_key Post, :user_id, :users, :id do
56
- expect(dump_posts).to match(%r{t.integer\s+"user_id".*foreign_key.*users})
57
+ expect(dump_posts).to match(%r{t.(integer|bigint)\s+"user_id".*foreign_key.*users})
57
58
  end
58
59
  end
59
60
 
60
61
  it "should include foreign_key name" do
61
- with_foreign_key Post, :user_id, :users, :id, :name => "yippee" do
62
+ with_foreign_key Post, :user_id, :users, :id, name: "yippee" do
62
63
  expect(dump_posts).to match(/user_id.*foreign_key.*users.*:name=>"yippee"/)
63
64
  end
64
65
  end
65
66
 
66
67
  it "should respect foreign key's primary key" do
67
68
  with_foreign_key Post, :user_id, :users, :first_post_id do
68
- expect(dump_posts).to match(%r{t.integer\s+"user_id".*foreign_key.*:primary_key=>"first_post_id"})
69
+ expect(dump_posts).to match(%r{t.(integer|bigint)\s+"user_id".*foreign_key.*:primary_key=>"first_post_id"})
69
70
  end
70
71
  end
71
72
 
72
73
 
73
74
  it "should include foreign_key exactly once" do
74
- with_foreign_key Post, :user_id, :users, :id, :name => "yippee" do
75
+ with_foreign_key Post, :user_id, :users, :id, name: "yippee" do
75
76
  expect(dump_posts.scan(/foreign_key.*yippee"/).length).to eq 1
76
77
  end
77
78
  end
@@ -97,7 +98,7 @@ describe "Schema dump" do
97
98
 
98
99
  it "should handle regexp in ignore_tables" do
99
100
  with_foreign_key Comment, :post_id, :posts, :id do
100
- dump = dump_schema(:ignore => /post/)
101
+ dump = dump_schema(ignore: /post/)
101
102
  expect(dump).to match(/create_table "comments"/)
102
103
  expect(dump).not_to match(/create_table "posts"/)
103
104
  end
@@ -106,12 +107,12 @@ describe "Schema dump" do
106
107
  end
107
108
 
108
109
  it "should include foreign_key options" do
109
- with_foreign_key Post, :user_id, :users, :id, :on_update => :cascade, :on_delete => :nullify do
110
- expect(dump_posts).to match(%q[t.integer\s*"user_id",.*:foreign_key=>{:references=>"users", :name=>"fk_posts_user_id", :on_update=>:cascade, :on_delete=>:nullify}])
110
+ with_foreign_key Post, :user_id, :users, :id, on_update: :cascade, on_delete: :nullify do
111
+ expect(dump_posts).to match(%q[t.(integer|bigint)\s*"user_id",.*:foreign_key=>{:references=>"users", :name=>"fk_rails_\w+", :on_update=>:cascade, :on_delete=>:nullify}])
111
112
  end
112
113
  end
113
114
 
114
- context "with cyclic foreign key constraints", :sqlite3 => :skip do
115
+ context "with cyclic foreign key constraints", sqlite3: :skip do
115
116
  before(:each) do
116
117
  ActiveRecord::Base.connection.add_foreign_key(Comment.table_name, User.table_name, column: :commenter_id)
117
118
  ActiveRecord::Base.connection.add_foreign_key(Comment.table_name, Post.table_name, column: :post_id)
@@ -143,33 +144,33 @@ describe "Schema dump" do
143
144
 
144
145
  ActiveRecord::Migration.suppress_messages do
145
146
  ActiveRecord::Schema.define do
146
- connection.tables.each do |table| drop_table table, force: :cascade end
147
+ connection.tables_only.each do |table| drop_table table, force: :cascade end
147
148
 
148
149
  create_table :grade_systems, force: true do |t|
149
- t.string :name
150
- t.integer :school_id
151
- t.integer :parent_id
152
- t.integer :profile_id
150
+ t.string :name
151
+ t.references :school
152
+ t.references :parent
153
+ t.references :profile
153
154
  end
154
155
 
155
156
  create_table :schools, force: true do |t|
156
- t.string :name
157
- t.integer :default_grade_system_id
157
+ t.string :name
158
+ t.references :default_grade_system
158
159
  end
159
160
 
160
161
  create_table :academic_years, force: true do |t|
161
- t.string :name
162
- t.integer :school_id
162
+ t.string :name
163
+ t.references :school
163
164
  end
164
165
 
165
166
  create_table :buildings, force: true do |t|
166
- t.string :name
167
- t.integer :school_id
167
+ t.string :name
168
+ t.references :school
168
169
  end
169
170
 
170
171
  create_table :profiles, force: true do |t|
171
- t.integer :school_id
172
- t.integer :building_id
172
+ t.references :school
173
+ t.references :building
173
174
  end
174
175
 
175
176
  end
@@ -215,12 +216,12 @@ describe "Schema dump" do
215
216
  def with_foreign_keys(model, columnsets)
216
217
  table_columns = model.columns.reject{|column| column.name == 'id'}
217
218
  ActiveRecord::Migration.suppress_messages do
218
- ActiveRecord::Migration.create_table model.table_name, :force => true do |t|
219
+ ActiveRecord::Migration.create_table model.table_name, force: true do |t|
219
220
  table_columns.each do |column|
220
- t.column column.name, column.type
221
+ t.column column.name, column.type, limit: column.limit
221
222
  end
222
223
  columnsets.each do |columns, referenced_table_name, referenced_columns, options|
223
- t.foreign_key columns, referenced_table_name, (options||{}).merge(primary_key: referenced_columns)
224
+ t.foreign_key referenced_table_name, **(options||{}).merge(column: columns, primary_key: referenced_columns)
224
225
  end
225
226
  end
226
227
  end
@@ -231,7 +232,7 @@ describe "Schema dump" do
231
232
  ActiveRecord::Migration.suppress_messages do
232
233
  ActiveRecord::Migration.create_table model.table_name, :force => true do |t|
233
234
  table_columns.each do |column|
234
- t.column column.name, column.type
235
+ t.column column.name, column.type, limit: column.limit
235
236
  end
236
237
  end
237
238
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simplecov'
2
- require 'simplecov-gem-profile'
3
- SimpleCov.start "gem"
4
+
5
+ SimpleCov.start
4
6
 
5
7
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
8
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
@@ -22,7 +24,7 @@ RSpec.configure do |config|
22
24
  begin
23
25
  example.run
24
26
  ensure
25
- ActiveRecord::Base.connection.tables.each do |table|
27
+ ActiveRecord::Base.connection.tables_only.each do |table|
26
28
  ActiveRecord::Migration.drop_table table, force: :cascade
27
29
  end
28
30
  end
@@ -48,7 +50,7 @@ def define_schema(config={}, &block)
48
50
  with_fk_config(config) do
49
51
  ActiveRecord::Migration.suppress_messages do
50
52
  ActiveRecord::Schema.define do
51
- connection.tables.each do |table|
53
+ connection.tables_only.each do |table|
52
54
  drop_table table, force: :cascade
53
55
  end
54
56
  instance_eval &block
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus::Matchers
2
4
 
3
5
  class Reference
@@ -22,7 +24,7 @@ module SchemaPlus::Matchers
22
24
  @result.keep_if {|fk| fk.on_update == @on_update } if @on_update
23
25
  @result.keep_if {|fk| fk.on_delete == @on_delete } if @on_delete
24
26
  @result.keep_if {|fk| fk.deferrable == @deferrable } if @deferrable
25
- @result.keep_if {|fk| fk.name == @name } if @name
27
+ @result.keep_if {|fk| @name.is_a?(String) ? fk.name == @name : fk.name.match?(@name) } if @name
26
28
  !@result.empty?
27
29
  end
28
30
 
@@ -76,4 +78,3 @@ module SchemaPlus::Matchers
76
78
  end
77
79
 
78
80
  end
79
-
metadata CHANGED
@@ -1,99 +1,105 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_plus_foreign_keys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ronen barzel
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-27 00:00:00.000000000 Z
11
+ date: 2022-05-06 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
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.2'
19
+ version: '5.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '6.1'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '5.2'
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '4.2'
32
+ version: '6.1'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: schema_plus_core
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '1.0'
39
+ version: 3.0.0
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '1.0'
46
+ version: 3.0.0
41
47
  - !ruby/object:Gem::Dependency
42
- name: valuable
48
+ name: schema_plus_compatibility
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - ">="
51
+ - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: '0'
53
+ version: 1.0.0
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - ">="
58
+ - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: '0'
60
+ version: 1.0.0
55
61
  - !ruby/object:Gem::Dependency
56
- name: its-it
62
+ name: valuable
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - "~>"
65
+ - - ">="
60
66
  - !ruby/object:Gem::Version
61
- version: '1.2'
67
+ version: '0'
62
68
  type: :runtime
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - "~>"
72
+ - - ">="
67
73
  - !ruby/object:Gem::Version
68
- version: '1.2'
74
+ version: '0'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: bundler
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
- - - "~>"
79
+ - - ">="
74
80
  - !ruby/object:Gem::Version
75
- version: '1.7'
81
+ version: '0'
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
- - - "~>"
86
+ - - ">="
81
87
  - !ruby/object:Gem::Version
82
- version: '1.7'
88
+ version: '0'
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: rake
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '10.0'
95
+ version: '13.0'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '10.0'
102
+ version: '13.0'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: rspec
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -114,42 +120,14 @@ dependencies:
114
120
  requirements:
115
121
  - - "~>"
116
122
  - !ruby/object:Gem::Version
117
- version: '3.5'
123
+ version: '4.1'
118
124
  type: :development
119
125
  prerelease: false
120
126
  version_requirements: !ruby/object:Gem::Requirement
121
127
  requirements:
122
128
  - - "~>"
123
129
  - !ruby/object:Gem::Version
124
- version: '3.5'
125
- - !ruby/object:Gem::Dependency
126
- name: simplecov
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: simplecov-gem-profile
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
130
+ version: '4.1'
153
131
  description: 'Extended support for foreign key constraints in ActiveRecord, including:
154
132
  definition as column attribute; deferrable; and SQLite3 support; cleaner dumps;
155
133
  and more!'
@@ -159,27 +137,25 @@ executables: []
159
137
  extensions: []
160
138
  extra_rdoc_files: []
161
139
  files:
140
+ - ".github/workflows/prs.yml"
162
141
  - ".gitignore"
163
- - ".travis.yml"
142
+ - ".simplecov"
164
143
  - Gemfile
165
144
  - LICENSE.txt
166
145
  - README.md
167
146
  - Rakefile
168
147
  - gemfiles/Gemfile.base
169
- - gemfiles/activerecord-4.2.0/Gemfile.base
170
- - gemfiles/activerecord-4.2.0/Gemfile.mysql2
171
- - gemfiles/activerecord-4.2.0/Gemfile.postgresql
172
- - gemfiles/activerecord-4.2.0/Gemfile.sqlite3
173
- - gemfiles/activerecord-4.2.1/Gemfile.base
174
- - gemfiles/activerecord-4.2.1/Gemfile.mysql2
175
- - gemfiles/activerecord-4.2.1/Gemfile.postgresql
176
- - gemfiles/activerecord-4.2.1/Gemfile.sqlite3
177
- - gemfiles/activerecord-4.2.6/Gemfile.base
178
- - gemfiles/activerecord-4.2.6/Gemfile.mysql2
179
- - gemfiles/activerecord-4.2.6/Gemfile.postgresql
180
- - gemfiles/activerecord-4.2.6/Gemfile.sqlite3
148
+ - gemfiles/activerecord-5.2/Gemfile.base
149
+ - gemfiles/activerecord-5.2/Gemfile.mysql2
150
+ - gemfiles/activerecord-5.2/Gemfile.postgresql
151
+ - gemfiles/activerecord-5.2/Gemfile.sqlite3
152
+ - gemfiles/activerecord-6.0/Gemfile.base
153
+ - gemfiles/activerecord-6.0/Gemfile.mysql2
154
+ - gemfiles/activerecord-6.0/Gemfile.postgresql
155
+ - gemfiles/activerecord-6.0/Gemfile.sqlite3
181
156
  - lib/schema_plus/foreign_keys.rb
182
157
  - lib/schema_plus/foreign_keys/active_record/base.rb
158
+ - lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract/schema_creation.rb
183
159
  - lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract_adapter.rb
184
160
  - lib/schema_plus/foreign_keys/active_record/connection_adapters/foreign_key_definition.rb
185
161
  - lib/schema_plus/foreign_keys/active_record/connection_adapters/mysql2_adapter.rb
@@ -208,7 +184,7 @@ homepage: https://github.com/SchemaPlus/schema_plus_foreign_keys
208
184
  licenses:
209
185
  - MIT
210
186
  metadata: {}
211
- post_install_message:
187
+ post_install_message:
212
188
  rdoc_options: []
213
189
  require_paths:
214
190
  - lib
@@ -216,16 +192,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
192
  requirements:
217
193
  - - ">="
218
194
  - !ruby/object:Gem::Version
219
- version: '0'
195
+ version: 2.5.0
220
196
  required_rubygems_version: !ruby/object:Gem::Requirement
221
197
  requirements:
222
198
  - - ">="
223
199
  - !ruby/object:Gem::Version
224
200
  version: '0'
225
201
  requirements: []
226
- rubyforge_project:
227
- rubygems_version: 2.2.2
228
- signing_key:
202
+ rubygems_version: 3.0.8
203
+ signing_key:
229
204
  specification_version: 4
230
205
  summary: Extended support for foreign key constraints in ActiveRecord
231
206
  test_files:
data/.travis.yml DELETED
@@ -1,24 +0,0 @@
1
- # This file was auto-generated by the schema_dev tool, based on the data in
2
- # ./schema_dev.yml
3
- # Please do not edit this file; any changes will be overwritten next time
4
- # schema_dev gets run.
5
- ---
6
- sudo: false
7
- rvm:
8
- - 2.1.8
9
- gemfile:
10
- - gemfiles/activerecord-4.2.0/Gemfile.mysql2
11
- - gemfiles/activerecord-4.2.0/Gemfile.postgresql
12
- - gemfiles/activerecord-4.2.0/Gemfile.sqlite3
13
- - gemfiles/activerecord-4.2.1/Gemfile.mysql2
14
- - gemfiles/activerecord-4.2.1/Gemfile.postgresql
15
- - gemfiles/activerecord-4.2.1/Gemfile.sqlite3
16
- - gemfiles/activerecord-4.2.6/Gemfile.mysql2
17
- - gemfiles/activerecord-4.2.6/Gemfile.postgresql
18
- - gemfiles/activerecord-4.2.6/Gemfile.sqlite3
19
- env: POSTGRESQL_DB_USER=postgres MYSQL_DB_USER=travis
20
- addons:
21
- postgresql: '9.4'
22
- before_script: bundle exec rake create_databases
23
- after_script: bundle exec rake drop_databases
24
- script: bundle exec rake travis
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "4.2.0"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem 'mysql2', '~> 0.3.13'
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "4.2.1"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem 'mysql2', '~> 0.3.13'
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "4.2.6"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2", '>= 0.3.18', '< 0.5'
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end