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.
- checksums.yaml +5 -5
- data/.github/workflows/prs.yml +134 -0
- data/.gitignore +1 -0
- data/.simplecov +20 -0
- data/Gemfile +4 -1
- data/README.md +49 -35
- data/Rakefile +3 -1
- data/gemfiles/Gemfile.base +1 -1
- data/gemfiles/activerecord-5.2/Gemfile.base +4 -0
- data/gemfiles/activerecord-5.2/Gemfile.mysql2 +10 -0
- data/gemfiles/activerecord-5.2/Gemfile.postgresql +10 -0
- data/gemfiles/{activerecord-4.2.0 → activerecord-5.2}/Gemfile.sqlite3 +3 -3
- data/gemfiles/activerecord-6.0/Gemfile.base +4 -0
- data/gemfiles/activerecord-6.0/Gemfile.mysql2 +10 -0
- data/gemfiles/activerecord-6.0/Gemfile.postgresql +10 -0
- data/gemfiles/{activerecord-4.2.6 → activerecord-6.0}/Gemfile.sqlite3 +3 -3
- data/lib/schema_plus/foreign_keys/active_record/base.rb +2 -0
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract/schema_creation.rb +20 -0
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract_adapter.rb +9 -47
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/foreign_key_definition.rb +4 -35
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/mysql2_adapter.rb +15 -16
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/postgresql_adapter.rb +8 -6
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb +14 -6
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/table_definition.rb +10 -49
- data/lib/schema_plus/foreign_keys/active_record/migration/command_recorder.rb +4 -2
- data/lib/schema_plus/foreign_keys/middleware/dumper.rb +5 -3
- data/lib/schema_plus/foreign_keys/middleware/migration.rb +13 -5
- data/lib/schema_plus/foreign_keys/middleware/model.rb +2 -0
- data/lib/schema_plus/foreign_keys/middleware/mysql.rb +3 -1
- data/lib/schema_plus/foreign_keys/middleware/sql.rb +2 -15
- data/lib/schema_plus/foreign_keys/version.rb +3 -1
- data/lib/schema_plus/foreign_keys.rb +3 -1
- data/lib/schema_plus_foreign_keys.rb +2 -0
- data/schema_dev.yml +5 -4
- data/schema_plus_foreign_keys.gemspec +10 -8
- data/spec/deprecation_spec.rb +15 -112
- data/spec/foreign_key_definition_spec.rb +5 -3
- data/spec/foreign_key_spec.rb +26 -24
- data/spec/migration_spec.rb +73 -91
- data/spec/named_schemas_spec.rb +16 -14
- data/spec/schema_dumper_spec.rb +36 -35
- data/spec/spec_helper.rb +6 -4
- data/spec/support/reference.rb +3 -2
- metadata +48 -73
- data/.travis.yml +0 -24
- data/gemfiles/activerecord-4.2.0/Gemfile.base +0 -3
- data/gemfiles/activerecord-4.2.0/Gemfile.mysql2 +0 -10
- data/gemfiles/activerecord-4.2.0/Gemfile.postgresql +0 -10
- data/gemfiles/activerecord-4.2.1/Gemfile.base +0 -3
- data/gemfiles/activerecord-4.2.1/Gemfile.mysql2 +0 -10
- data/gemfiles/activerecord-4.2.1/Gemfile.postgresql +0 -10
- data/gemfiles/activerecord-4.2.1/Gemfile.sqlite3 +0 -10
- data/gemfiles/activerecord-4.2.6/Gemfile.base +0 -3
- data/gemfiles/activerecord-4.2.6/Gemfile.mysql2 +0 -10
- data/gemfiles/activerecord-4.2.6/Gemfile.postgresql +0 -10
data/spec/named_schemas_spec.rb
CHANGED
@@ -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, :
|
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, :
|
60
|
-
t.
|
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, :
|
70
|
-
t.
|
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", :
|
85
|
+
create_table "items", force: true do |t|
|
84
86
|
end
|
85
|
-
create_table "schema_plus_test2.groups", :
|
87
|
+
create_table "schema_plus_test2.groups", force: true do |t|
|
86
88
|
end
|
87
|
-
create_table "schema_plus_test2.members", :
|
88
|
-
t.
|
89
|
-
t.
|
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", :
|
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 = ["
|
131
|
-
expected_names << "
|
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
|
data/spec/schema_dumper_spec.rb
CHANGED
@@ -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.
|
10
|
+
connection.tables_only.each do |table| drop_table table, force: :cascade end
|
10
11
|
|
11
|
-
create_table :users, :
|
12
|
+
create_table :users, force: true do |t|
|
12
13
|
t.string :login
|
13
14
|
t.datetime :deleted_at
|
14
|
-
t.
|
15
|
+
t.references :first_post, index: { unique: true }
|
15
16
|
end
|
16
17
|
|
17
|
-
create_table :posts, :
|
18
|
+
create_table :posts, force: true do |t|
|
18
19
|
t.text :body
|
19
|
-
t.
|
20
|
-
t.
|
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, :
|
36
|
+
create_table :comments, force: true do |t|
|
36
37
|
t.text :body
|
37
|
-
t.
|
38
|
-
t.
|
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, :
|
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, :
|
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(:
|
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, :
|
110
|
-
expect(dump_posts).to match(%q[t.integer\s*"user_id",.*:foreign_key=>{:references=>"users", :name=>"
|
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", :
|
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.
|
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
|
150
|
-
t.
|
151
|
-
t.
|
152
|
-
t.
|
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
|
157
|
-
t.
|
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
|
162
|
-
t.
|
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
|
167
|
-
t.
|
167
|
+
t.string :name
|
168
|
+
t.references :school
|
168
169
|
end
|
169
170
|
|
170
171
|
create_table :profiles, force: true do |t|
|
171
|
-
t.
|
172
|
-
t.
|
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, :
|
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
|
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
|
-
|
3
|
-
SimpleCov.start
|
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.
|
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.
|
53
|
+
connection.tables_only.each do |table|
|
52
54
|
drop_table table, force: :cascade
|
53
55
|
end
|
54
56
|
instance_eval &block
|
data/spec/support/reference.rb
CHANGED
@@ -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.
|
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:
|
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: '
|
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: '
|
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:
|
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:
|
46
|
+
version: 3.0.0
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
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:
|
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:
|
60
|
+
version: 1.0.0
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
62
|
+
name: valuable
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
|
-
- - "
|
65
|
+
- - ">="
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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
|
-
- ".
|
142
|
+
- ".simplecov"
|
164
143
|
- Gemfile
|
165
144
|
- LICENSE.txt
|
166
145
|
- README.md
|
167
146
|
- Rakefile
|
168
147
|
- gemfiles/Gemfile.base
|
169
|
-
- gemfiles/activerecord-
|
170
|
-
- gemfiles/activerecord-
|
171
|
-
- gemfiles/activerecord-
|
172
|
-
- gemfiles/activerecord-
|
173
|
-
- gemfiles/activerecord-
|
174
|
-
- gemfiles/activerecord-
|
175
|
-
- gemfiles/activerecord-
|
176
|
-
- gemfiles/activerecord-
|
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:
|
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
|
-
|
227
|
-
|
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
|