schema_auto_foreign_keys 1.0.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa12ac616f5ce5677d2c2bea13ad20164b80adf764066679627ef3e2eec1409d
4
- data.tar.gz: 8188e920c5d2ba40309203bccba5665ca332fe0b12887c130688aa9894143d25
3
+ metadata.gz: 55f81706ea91cc1d110fb64e9ef09aeee7cf124094121a18a54f5198f4695054
4
+ data.tar.gz: 7f808933b2bf19df48f758aa568dfa7829ead1e6c8cf24135212bfe2833e0739
5
5
  SHA512:
6
- metadata.gz: 0cef6379c1877ec78c61f0e6a8a807b6892c6ce2396a1e59b15fd0f00b5f1d35b0fc621469f6aaf131b12bd98a238aa955460c70ae597a3d167714716ce26456
7
- data.tar.gz: 11d4059f62fca77a85d7c59fa0a91795d800be76dd0a57be95d9257e7147304c567b2176fb34ebe36ac0bbaca4c1d9259327bad47b0b8ff4aace56e0d084fb5c
6
+ metadata.gz: 729c74ff414f06b54faf2ddf851c29f636f7f8b5e3576aa117b7806cc9e715b4ebb4c94ba02b2a5bf667a15c947295f68ae84d2010fa7b47894ec4bbb3e0bf58
7
+ data.tar.gz: 59a77d7eaaa60c7a32e8e2281cd8674c69b24b4d19cee9350e0df2fc65c0a0f86e1d87257ac6e0ebe679850e577722eb2e97bdf6b1d5cee16d9e908b7da6a4b6
@@ -22,9 +22,12 @@ jobs:
22
22
  - '2.5'
23
23
  - '2.7'
24
24
  - '3.0'
25
+ - '3.1'
25
26
  activerecord:
26
27
  - '5.2'
27
28
  - '6.0'
29
+ - '6.1'
30
+ - '7.0'
28
31
  db:
29
32
  - mysql2
30
33
  - sqlite3
@@ -34,6 +37,10 @@ jobs:
34
37
  exclude:
35
38
  - ruby: '3.0'
36
39
  activerecord: '5.2'
40
+ - ruby: '3.1'
41
+ activerecord: '5.2'
42
+ - ruby: '2.5'
43
+ activerecord: '7.0'
37
44
  - db: skip
38
45
  dbversion: skip
39
46
  include:
@@ -45,6 +52,10 @@ jobs:
45
52
  activerecord: '6.0'
46
53
  db: postgresql
47
54
  dbversion: '9.6'
55
+ - ruby: '2.5'
56
+ activerecord: '6.1'
57
+ db: postgresql
58
+ dbversion: '9.6'
48
59
  - ruby: '2.7'
49
60
  activerecord: '5.2'
50
61
  db: postgresql
@@ -53,10 +64,38 @@ jobs:
53
64
  activerecord: '6.0'
54
65
  db: postgresql
55
66
  dbversion: '9.6'
67
+ - ruby: '2.7'
68
+ activerecord: '6.1'
69
+ db: postgresql
70
+ dbversion: '9.6'
71
+ - ruby: '2.7'
72
+ activerecord: '7.0'
73
+ db: postgresql
74
+ dbversion: '9.6'
75
+ - ruby: '3.0'
76
+ activerecord: '6.0'
77
+ db: postgresql
78
+ dbversion: '9.6'
79
+ - ruby: '3.0'
80
+ activerecord: '6.1'
81
+ db: postgresql
82
+ dbversion: '9.6'
56
83
  - ruby: '3.0'
84
+ activerecord: '7.0'
85
+ db: postgresql
86
+ dbversion: '9.6'
87
+ - ruby: '3.1'
57
88
  activerecord: '6.0'
58
89
  db: postgresql
59
90
  dbversion: '9.6'
91
+ - ruby: '3.1'
92
+ activerecord: '6.1'
93
+ db: postgresql
94
+ dbversion: '9.6'
95
+ - ruby: '3.1'
96
+ activerecord: '7.0'
97
+ db: postgresql
98
+ dbversion: '9.6'
60
99
  env:
61
100
  BUNDLE_GEMFILE: "${{ github.workspace }}/gemfiles/activerecord-${{ matrix.activerecord }}/Gemfile.${{ matrix.db }}"
62
101
  MYSQL_DB_HOST: 127.0.0.1
data/README.md CHANGED
@@ -89,9 +89,17 @@ SchemaAutoForeignKeys is tested on:
89
89
  <!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
90
90
  * ruby **2.5** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql:9.6**
91
91
  * ruby **2.5** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
92
+ * ruby **2.5** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
92
93
  * ruby **2.7** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql:9.6**
93
94
  * ruby **2.7** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
95
+ * ruby **2.7** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
96
+ * ruby **2.7** with activerecord **7.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
94
97
  * ruby **3.0** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
98
+ * ruby **3.0** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
99
+ * ruby **3.0** with activerecord **7.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
100
+ * ruby **3.1** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
101
+ * ruby **3.1** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
102
+ * ruby **3.1** with activerecord **7.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
95
103
 
96
104
  <!-- SCHEMA_DEV: MATRIX - end -->
97
105
 
@@ -105,6 +113,7 @@ SQlite3 doesn't support renaming the auto-index whtn the table name changes.
105
113
 
106
114
  ## History
107
115
 
116
+ * 1.1.0 - Add AR 6.1 and 7.0, Add Ruby 3.1. remvoe schema_plus_compatiblity dependency
108
117
  * 1.0.0 - Drop Ruby < 2.5 and Rails < 5.2, add Rails 6.0, and remove many deprecations
109
118
  * 0.1.3 - AR5 (Rails 5) Support
110
119
  * 0.1.2 - Missing require
@@ -0,0 +1,4 @@
1
+ base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile)
3
+
4
+ gem "activerecord", ">= 6.1", "< 6.2"
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "mysql2"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcmysql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "pg"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcpostgresql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
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
@@ -0,0 +1,4 @@
1
+ base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile)
3
+
4
+ gem "activerecord", ">= 7.0", "< 7.1"
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "mysql2"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcmysql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "pg"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcpostgresql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
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 +1,3 @@
1
1
  module SchemaAutoForeignKeys
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -20,11 +20,12 @@ Gem::Specification.new do |gem|
20
20
 
21
21
  gem.required_ruby_version = ">= 2.5.0"
22
22
 
23
- gem.add_dependency "schema_plus_foreign_keys", "~> 1.0.0"
24
- gem.add_dependency "schema_plus_indexes", "~> 1.0.0"
23
+ gem.add_dependency "activerecord", ">= 5.2", "< 7.1"
24
+ gem.add_dependency "schema_plus_foreign_keys", "~> 1.1.0"
25
+ gem.add_dependency "schema_plus_indexes", "~> 1.0.1"
25
26
 
26
27
  gem.add_development_dependency "bundler"
27
28
  gem.add_development_dependency "rake", "~> 13.0"
28
29
  gem.add_development_dependency "rspec", "~> 3.0"
29
- gem.add_development_dependency "schema_dev", "~> 4.1"
30
+ gem.add_development_dependency "schema_dev", "~> 4.2.0"
30
31
  end
data/schema_dev.yml CHANGED
@@ -2,9 +2,12 @@ ruby:
2
2
  - 2.5
3
3
  - 2.7
4
4
  - 3.0
5
+ - 3.1
5
6
  activerecord:
6
7
  - 5.2
7
8
  - 6.0
9
+ - 6.1
10
+ - 7.0
8
11
  db:
9
12
  - mysql2
10
13
  - sqlite3
@@ -220,7 +220,7 @@ describe ActiveRecord::Migration do
220
220
  end
221
221
  expect(Comment).to reference(:users, :id).on(:user_id)
222
222
  expect(Comment).to have_index.on(:user_id)
223
- migration = Class.new ::ActiveRecord::Migration.latest_version do
223
+ migration = Class.new ::ActiveRecord::Migration::Current do
224
224
  define_method(:change) {
225
225
  change_table("comments", bulk: bulk) do |t|
226
226
  t.bigint :user_id
data/spec/schema_spec.rb CHANGED
@@ -30,11 +30,11 @@ describe ActiveRecord::Schema do
30
30
 
31
31
  it "creates only explicity added indexes" do
32
32
  expected = SchemaDev::Rspec::Helpers.mysql? ? 2 : 1
33
- expect(connection.user_tables_only.collect { |table| connection.indexes(table) }.flatten.size).to eq(expected)
33
+ expect(connection.tables.collect { |table| connection.indexes(table) }.flatten.size).to eq(expected)
34
34
  end
35
35
 
36
36
  it "should create only explicity added foriegn keys" do
37
- expect(connection.user_tables_only.collect { |table| connection.foreign_keys(table) }.flatten.size).to eq(2)
37
+ expect(connection.tables.collect { |table| connection.foreign_keys(table) }.flatten.size).to eq(2)
38
38
  end
39
39
 
40
40
  end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'simplecov'
2
- SimpleCov.start
2
+ SimpleCov.start unless SimpleCov.running
3
3
 
4
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
5
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
@@ -41,7 +41,7 @@ end
41
41
 
42
42
  def define_schema(&block)
43
43
  ActiveRecord::Schema.define do
44
- connection.tables_only.each do |table|
44
+ connection.tables.each do |table|
45
45
  drop_table table, force: :cascade
46
46
  end
47
47
  instance_eval &block
metadata CHANGED
@@ -1,43 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_auto_foreign_keys
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ronen barzel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-12 00:00:00.000000000 Z
11
+ date: 2022-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7.1'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '5.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7.1'
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: schema_plus_foreign_keys
15
35
  requirement: !ruby/object:Gem::Requirement
16
36
  requirements:
17
37
  - - "~>"
18
38
  - !ruby/object:Gem::Version
19
- version: 1.0.0
39
+ version: 1.1.0
20
40
  type: :runtime
21
41
  prerelease: false
22
42
  version_requirements: !ruby/object:Gem::Requirement
23
43
  requirements:
24
44
  - - "~>"
25
45
  - !ruby/object:Gem::Version
26
- version: 1.0.0
46
+ version: 1.1.0
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: schema_plus_indexes
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
31
51
  - - "~>"
32
52
  - !ruby/object:Gem::Version
33
- version: 1.0.0
53
+ version: 1.0.1
34
54
  type: :runtime
35
55
  prerelease: false
36
56
  version_requirements: !ruby/object:Gem::Requirement
37
57
  requirements:
38
58
  - - "~>"
39
59
  - !ruby/object:Gem::Version
40
- version: 1.0.0
60
+ version: 1.0.1
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: bundler
43
63
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +106,14 @@ dependencies:
86
106
  requirements:
87
107
  - - "~>"
88
108
  - !ruby/object:Gem::Version
89
- version: '4.1'
109
+ version: 4.2.0
90
110
  type: :development
91
111
  prerelease: false
92
112
  version_requirements: !ruby/object:Gem::Requirement
93
113
  requirements:
94
114
  - - "~>"
95
115
  - !ruby/object:Gem::Version
96
- version: '4.1'
116
+ version: 4.2.0
97
117
  description: In an ActiveRecord migration, set the default to create a foreign key
98
118
  and index for all columns that define relatoins.
99
119
  email:
@@ -118,6 +138,14 @@ files:
118
138
  - gemfiles/activerecord-6.0/Gemfile.mysql2
119
139
  - gemfiles/activerecord-6.0/Gemfile.postgresql
120
140
  - gemfiles/activerecord-6.0/Gemfile.sqlite3
141
+ - gemfiles/activerecord-6.1/Gemfile.base
142
+ - gemfiles/activerecord-6.1/Gemfile.mysql2
143
+ - gemfiles/activerecord-6.1/Gemfile.postgresql
144
+ - gemfiles/activerecord-6.1/Gemfile.sqlite3
145
+ - gemfiles/activerecord-7.0/Gemfile.base
146
+ - gemfiles/activerecord-7.0/Gemfile.mysql2
147
+ - gemfiles/activerecord-7.0/Gemfile.postgresql
148
+ - gemfiles/activerecord-7.0/Gemfile.sqlite3
121
149
  - lib/schema_auto_foreign_keys.rb
122
150
  - lib/schema_auto_foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb
123
151
  - lib/schema_auto_foreign_keys/middleware/migration.rb
@@ -150,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
178
  - !ruby/object:Gem::Version
151
179
  version: '0'
152
180
  requirements: []
153
- rubygems_version: 3.0.8
181
+ rubygems_version: 3.1.6
154
182
  signing_key:
155
183
  specification_version: 4
156
184
  summary: Automatically define foreign key constraints in ActiveRecord