departure 6.7.0 → 7.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 +4 -4
- data/.github/workflows/test.yml +5 -14
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -1
- data/Appraisals +4 -24
- data/CHANGELOG.md +15 -1
- data/Gemfile +6 -1
- data/Gemfile.lock +108 -86
- data/README.md +8 -0
- data/Rakefile +9 -0
- data/bin/rails +24 -0
- data/departure.gemspec +3 -3
- data/gemfiles/rails_7_0.gemfile +8 -2
- data/gemfiles/rails_7_0.gemfile.lock +182 -131
- data/gemfiles/rails_7_1.gemfile +7 -2
- data/gemfiles/rails_7_1.gemfile.lock +156 -140
- data/gemfiles/{ruby_2.7_rails_6_0.gemfile → rails_7_2.gemfile} +7 -3
- data/gemfiles/rails_7_2.gemfile.lock +288 -0
- data/gemfiles/{rails_6_0.gemfile → rails_8_0.gemfile} +6 -2
- data/gemfiles/rails_8_0.gemfile.lock +285 -0
- data/lib/active_record/connection_adapters/for_alter.rb +4 -17
- data/lib/active_record/connection_adapters/patch_connection_handling.rb +18 -0
- data/lib/active_record/connection_adapters/percona_adapter.rb +9 -56
- data/lib/active_record/connection_adapters/rails_7_2_departure_adapter.rb +215 -0
- data/lib/active_record/connection_adapters/rails_8_0_departure_adapter.rb +293 -0
- data/lib/departure/command.rb +6 -2
- data/lib/departure/configuration.rb +2 -1
- data/lib/departure/migration.rb +1 -5
- data/lib/departure/rails_adapter.rb +146 -0
- data/lib/departure/rails_patches/active_record_migrator_with_advisory_lock_patch.rb +25 -0
- data/lib/departure/runner.rb +24 -4
- data/lib/departure/version.rb +1 -1
- data/lib/departure.rb +2 -5
- data/lib/lhm/column_with_sql.rb +1 -8
- data/test_database.rb +2 -6
- metadata +18 -47
- data/gemfiles/rails_6_0.gemfile.lock +0 -238
- data/gemfiles/rails_6_1.gemfile +0 -10
- data/gemfiles/rails_6_1.gemfile.lock +0 -241
- data/gemfiles/ruby_2.7_rails_6_0.gemfile.lock +0 -239
- data/gemfiles/ruby_2.7_rails_6_1.gemfile +0 -11
- data/gemfiles/ruby_2.7_rails_6_1.gemfile.lock +0 -242
- data/gemfiles/ruby_2.7_rails_7_0.gemfile +0 -11
- data/gemfiles/ruby_2.7_rails_7_0.gemfile.lock +0 -241
- data/gemfiles/ruby_2.7_rails_7_1.gemfile +0 -11
- data/gemfiles/ruby_2.7_rails_7_1.gemfile.lock +0 -275
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c90b332f5ca8002ae23bedaab9b368f2aa89c103ab287aa593f5563901e9bb10
|
4
|
+
data.tar.gz: 46c52d6ce29dda0c0358cca5da19bfd5ebbe327e626c3c4c332fa7189df17759
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd21cf4f7b78ea979a92424540dde3a0e8bad9d1acf891f334352e5e6f9cc372d0c4fa897d9afb88d1cb282504a65895c00a87b467a52f6ca2423501c7f68af0
|
7
|
+
data.tar.gz: 4b9b1112c42fd3b823eeb613bbde33ec596da1a7b2e1371ef2f87960b60a4c40a21a7d43bd2222269b2a8e71bd00c91bfa5d044ff5c2dce489cc299473b73a22
|
data/.github/workflows/test.yml
CHANGED
@@ -8,23 +8,14 @@ jobs:
|
|
8
8
|
fail-fast: false
|
9
9
|
matrix:
|
10
10
|
ruby:
|
11
|
-
- 3.0
|
12
|
-
- 3.1
|
13
11
|
- 3.2
|
14
12
|
- 3.3
|
13
|
+
- 3.4
|
15
14
|
gemfile:
|
16
|
-
- gemfiles/rails_6_1.gemfile
|
17
15
|
- gemfiles/rails_7_0.gemfile
|
18
16
|
- gemfiles/rails_7_1.gemfile
|
19
|
-
|
20
|
-
-
|
21
|
-
gemfile: gemfiles/ruby_2.7_rails_6_0.gemfile
|
22
|
-
- ruby: 2.7
|
23
|
-
gemfile: gemfiles/ruby_2.7_rails_6_1.gemfile
|
24
|
-
- ruby: 2.7
|
25
|
-
gemfile: gemfiles/ruby_2.7_rails_7_0.gemfile
|
26
|
-
- ruby: 2.7
|
27
|
-
gemfile: gemfiles/ruby_2.7_rails_7_1.gemfile
|
17
|
+
- gemfiles/rails_7_2.gemfile
|
18
|
+
- gemfiles/rails_8_0.gemfile
|
28
19
|
env:
|
29
20
|
PERCONA_DB_USER: root
|
30
21
|
PERCONA_DB_PASSWORD: root
|
@@ -52,12 +43,12 @@ jobs:
|
|
52
43
|
env:
|
53
44
|
PERCONA_DB_USER: root
|
54
45
|
PERCONA_DB_PASSWORD: root
|
55
|
-
BUNDLE_GEMFILE: gemfiles/
|
46
|
+
BUNDLE_GEMFILE: gemfiles/rails_7_1.gemfile
|
56
47
|
runs-on: ubuntu-latest
|
57
48
|
steps:
|
58
49
|
- uses: actions/checkout@v4
|
59
50
|
- uses: ruby/setup-ruby@v1
|
60
51
|
with:
|
61
|
-
ruby-version:
|
52
|
+
ruby-version: 3.3
|
62
53
|
bundler-cache: true
|
63
54
|
- run: bundle exec rubocop --parallel
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/Appraisals
CHANGED
@@ -1,11 +1,3 @@
|
|
1
|
-
appraise 'rails-6-0' do
|
2
|
-
gem 'rails', '6.0.6.1'
|
3
|
-
end
|
4
|
-
|
5
|
-
appraise 'rails-6-1' do
|
6
|
-
gem 'rails', '6.1.7.6'
|
7
|
-
end
|
8
|
-
|
9
1
|
appraise 'rails-7-0' do
|
10
2
|
gem 'rails', '7.0.8'
|
11
3
|
end
|
@@ -14,22 +6,10 @@ appraise 'rails-7-1' do
|
|
14
6
|
gem 'rails', '7.1.3'
|
15
7
|
end
|
16
8
|
|
17
|
-
appraise '
|
18
|
-
gem 'rails', '
|
19
|
-
gem 'nokogiri', '< 1.16'
|
20
|
-
end
|
21
|
-
|
22
|
-
appraise 'ruby-2.7-rails-6-1' do
|
23
|
-
gem 'rails', '6.1.7.6'
|
24
|
-
gem 'nokogiri', '< 1.16'
|
9
|
+
appraise 'rails-7-2' do
|
10
|
+
gem 'rails', '7.2.2.1'
|
25
11
|
end
|
26
12
|
|
27
|
-
appraise '
|
28
|
-
gem 'rails', '
|
29
|
-
gem 'nokogiri', '< 1.16'
|
30
|
-
end
|
31
|
-
|
32
|
-
appraise 'ruby-2.7-rails-7-1' do
|
33
|
-
gem 'rails', '7.1.3'
|
34
|
-
gem 'nokogiri', '< 1.16'
|
13
|
+
appraise 'rails-8-0' do
|
14
|
+
gem 'rails', '8.0.2.1'
|
35
15
|
end
|
data/CHANGELOG.md
CHANGED
@@ -4,7 +4,21 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
5
5
|
Please follow the format in [Keep a Changelog](http://keepachangelog.com/)
|
6
6
|
|
7
|
-
## [
|
7
|
+
## [7.0.0] - 2025-08-21
|
8
|
+
|
9
|
+
- Drop Ruby 3.1 support. Add >= 3.2 ruby support in gemspec. EOL for 3.1.0 was 2025-03-31
|
10
|
+
- Drop Rails 6.1 support. Add >= 6.2 rails support in gemspec. EOL for 6.1.0 was 2024-10-01
|
11
|
+
- Add Rails 8.0 support
|
12
|
+
|
13
|
+
## [6.8.0] - 2025-03-31
|
14
|
+
|
15
|
+
- Drop Ruby 3.0 support in specs
|
16
|
+
- Create dummy application in specs, migrate fixtures to that application
|
17
|
+
- Create a `bin/rails` command that loads the database from the dummy application
|
18
|
+
- Create a RailsAdapter that will handle creating connections inside of different versions of rails
|
19
|
+
- Implement a Rails72DeparatureAdapater that handles the differences between Rails 7.2 and other rails versions
|
20
|
+
- Implement a ActiveRecordMigratorWithAdvisoryLock patch for ActiveRecord versions 7.1 and 7.2 to prevent ConcurrentMigrationErrors
|
21
|
+
- Implement a configuration option `disable_rails_advisory_lock_patch` to disable the ActiveRecordMigratorWithAdvisoryLock patch in our gem
|
8
22
|
|
9
23
|
## [6.7.0] - 2024-02-20
|
10
24
|
|
data/Gemfile
CHANGED
@@ -2,6 +2,11 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
+
gem 'base64'
|
5
6
|
gem 'codeclimate-test-reporter', '~> 1.0.3', group: :test, require: nil
|
6
|
-
gem '
|
7
|
+
gem 'lhm'
|
8
|
+
gem 'logger'
|
9
|
+
gem 'mutex_m', require: false
|
10
|
+
gem 'rubocop', '~> 1.74.0', require: false
|
7
11
|
gem 'rubocop-performance', '~> 1.20.2', require: false
|
12
|
+
gem 'zeitwerk', '< 2.7.0'
|
data/Gemfile.lock
CHANGED
@@ -1,196 +1,218 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
departure (
|
5
|
-
activerecord (>=
|
4
|
+
departure (7.0.0)
|
5
|
+
activerecord (>= 7.0.1)
|
6
6
|
mysql2 (>= 0.4.0, < 0.6.0)
|
7
|
-
railties (>=
|
7
|
+
railties (>= 7.0.1)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
actionpack (
|
13
|
-
actionview (=
|
14
|
-
activesupport (=
|
12
|
+
actionpack (8.0.2.1)
|
13
|
+
actionview (= 8.0.2.1)
|
14
|
+
activesupport (= 8.0.2.1)
|
15
15
|
nokogiri (>= 1.8.5)
|
16
|
-
racc
|
17
16
|
rack (>= 2.2.4)
|
18
17
|
rack-session (>= 1.0.1)
|
19
18
|
rack-test (>= 0.6.3)
|
20
19
|
rails-dom-testing (~> 2.2)
|
21
20
|
rails-html-sanitizer (~> 1.6)
|
22
|
-
|
23
|
-
|
21
|
+
useragent (~> 0.16)
|
22
|
+
actionview (8.0.2.1)
|
23
|
+
activesupport (= 8.0.2.1)
|
24
24
|
builder (~> 3.1)
|
25
25
|
erubi (~> 1.11)
|
26
26
|
rails-dom-testing (~> 2.2)
|
27
27
|
rails-html-sanitizer (~> 1.6)
|
28
|
-
activemodel (
|
29
|
-
activesupport (=
|
30
|
-
activerecord (
|
31
|
-
activemodel (=
|
32
|
-
activesupport (=
|
28
|
+
activemodel (8.0.2.1)
|
29
|
+
activesupport (= 8.0.2.1)
|
30
|
+
activerecord (8.0.2.1)
|
31
|
+
activemodel (= 8.0.2.1)
|
32
|
+
activesupport (= 8.0.2.1)
|
33
33
|
timeout (>= 0.4.0)
|
34
|
-
activesupport (
|
34
|
+
activesupport (8.0.2.1)
|
35
35
|
base64
|
36
|
+
benchmark (>= 0.3)
|
36
37
|
bigdecimal
|
37
|
-
concurrent-ruby (~> 1.0, >= 1.
|
38
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
38
39
|
connection_pool (>= 2.2.5)
|
39
40
|
drb
|
40
41
|
i18n (>= 1.6, < 2)
|
42
|
+
logger (>= 1.4.2)
|
41
43
|
minitest (>= 5.1)
|
42
|
-
|
43
|
-
tzinfo (~> 2.0)
|
44
|
+
securerandom (>= 0.3)
|
45
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
46
|
+
uri (>= 0.13.1)
|
44
47
|
appraisal (2.4.1)
|
45
48
|
bundler
|
46
49
|
rake
|
47
50
|
thor (>= 0.14.0)
|
48
|
-
ast (2.4.
|
51
|
+
ast (2.4.3)
|
49
52
|
base64 (0.2.0)
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
+
benchmark (0.4.0)
|
54
|
+
bigdecimal (3.1.9)
|
55
|
+
builder (3.3.0)
|
56
|
+
byebug (12.0.0)
|
53
57
|
climate_control (0.0.4)
|
54
58
|
activesupport (>= 3.0)
|
55
59
|
codeclimate-test-reporter (1.0.9)
|
56
60
|
simplecov (<= 0.13)
|
57
61
|
coderay (1.1.3)
|
58
|
-
concurrent-ruby (1.
|
59
|
-
connection_pool (2.
|
62
|
+
concurrent-ruby (1.3.5)
|
63
|
+
connection_pool (2.5.0)
|
60
64
|
crass (1.0.6)
|
61
|
-
|
65
|
+
date (3.4.1)
|
66
|
+
diff-lcs (1.6.1)
|
62
67
|
docile (1.1.5)
|
63
|
-
drb (2.2.
|
64
|
-
|
65
|
-
|
66
|
-
i18n (1.14.1)
|
68
|
+
drb (2.2.1)
|
69
|
+
erubi (1.13.1)
|
70
|
+
i18n (1.14.7)
|
67
71
|
concurrent-ruby (~> 1.0)
|
68
|
-
io-console (0.
|
69
|
-
irb (1.
|
70
|
-
|
72
|
+
io-console (0.8.0)
|
73
|
+
irb (1.15.1)
|
74
|
+
pp (>= 0.6.0)
|
75
|
+
rdoc (>= 4.0.0)
|
71
76
|
reline (>= 0.4.2)
|
72
|
-
json (2.
|
73
|
-
language_server-protocol (3.17.0.
|
74
|
-
|
77
|
+
json (2.10.2)
|
78
|
+
language_server-protocol (3.17.0.4)
|
79
|
+
lhm (2.2.0)
|
80
|
+
lint_roller (1.1.0)
|
81
|
+
logger (1.7.0)
|
82
|
+
loofah (2.24.0)
|
75
83
|
crass (~> 1.0.2)
|
76
84
|
nokogiri (>= 1.12.0)
|
77
|
-
method_source (1.
|
78
|
-
minitest (5.
|
79
|
-
mutex_m (0.
|
85
|
+
method_source (1.1.0)
|
86
|
+
minitest (5.25.5)
|
87
|
+
mutex_m (0.3.0)
|
80
88
|
mysql2 (0.5.6)
|
81
|
-
nokogiri (1.
|
89
|
+
nokogiri (1.18.7-arm64-darwin)
|
82
90
|
racc (~> 1.4)
|
83
|
-
nokogiri (1.
|
91
|
+
nokogiri (1.18.7-x86_64-linux-gnu)
|
84
92
|
racc (~> 1.4)
|
85
|
-
parallel (1.
|
86
|
-
parser (3.3.
|
93
|
+
parallel (1.26.3)
|
94
|
+
parser (3.3.7.4)
|
87
95
|
ast (~> 2.4.1)
|
88
96
|
racc
|
89
|
-
|
97
|
+
pp (0.6.2)
|
98
|
+
prettyprint
|
99
|
+
prettyprint (0.2.0)
|
100
|
+
prism (1.4.0)
|
101
|
+
pry (0.15.2)
|
90
102
|
coderay (~> 1.1)
|
91
103
|
method_source (~> 1.0)
|
92
|
-
pry-byebug (3.
|
93
|
-
byebug (~>
|
94
|
-
pry (>= 0.13, < 0.
|
95
|
-
psych (5.
|
104
|
+
pry-byebug (3.11.0)
|
105
|
+
byebug (~> 12.0)
|
106
|
+
pry (>= 0.13, < 0.16)
|
107
|
+
psych (5.2.3)
|
108
|
+
date
|
96
109
|
stringio
|
97
|
-
racc (1.
|
98
|
-
rack (3.
|
99
|
-
rack-session (2.
|
110
|
+
racc (1.8.1)
|
111
|
+
rack (3.1.12)
|
112
|
+
rack-session (2.1.0)
|
113
|
+
base64 (>= 0.1.0)
|
100
114
|
rack (>= 3.0.0)
|
101
|
-
rack-test (2.
|
115
|
+
rack-test (2.2.0)
|
102
116
|
rack (>= 1.3)
|
103
|
-
rackup (2.1
|
117
|
+
rackup (2.2.1)
|
104
118
|
rack (>= 3)
|
105
|
-
webrick (~> 1.8)
|
106
119
|
rails-dom-testing (2.2.0)
|
107
120
|
activesupport (>= 5.0.0)
|
108
121
|
minitest
|
109
122
|
nokogiri (>= 1.6)
|
110
|
-
rails-html-sanitizer (1.6.
|
123
|
+
rails-html-sanitizer (1.6.2)
|
111
124
|
loofah (~> 2.21)
|
112
|
-
nokogiri (
|
113
|
-
railties (
|
114
|
-
actionpack (=
|
115
|
-
activesupport (=
|
116
|
-
irb
|
125
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
126
|
+
railties (8.0.2.1)
|
127
|
+
actionpack (= 8.0.2.1)
|
128
|
+
activesupport (= 8.0.2.1)
|
129
|
+
irb (~> 1.13)
|
117
130
|
rackup (>= 1.0.0)
|
118
131
|
rake (>= 12.2)
|
119
132
|
thor (~> 1.0, >= 1.2.2)
|
120
133
|
zeitwerk (~> 2.6)
|
121
134
|
rainbow (3.1.1)
|
122
|
-
rake (13.1
|
123
|
-
rdoc (6.
|
135
|
+
rake (13.2.1)
|
136
|
+
rdoc (6.13.1)
|
124
137
|
psych (>= 4.0.0)
|
125
|
-
regexp_parser (2.
|
126
|
-
reline (0.
|
138
|
+
regexp_parser (2.10.0)
|
139
|
+
reline (0.6.0)
|
127
140
|
io-console (~> 0.5)
|
128
|
-
rexml (3.2.6)
|
129
141
|
rspec (3.13.0)
|
130
142
|
rspec-core (~> 3.13.0)
|
131
143
|
rspec-expectations (~> 3.13.0)
|
132
144
|
rspec-mocks (~> 3.13.0)
|
133
|
-
rspec-core (3.13.
|
145
|
+
rspec-core (3.13.3)
|
134
146
|
rspec-support (~> 3.13.0)
|
135
|
-
rspec-expectations (3.13.
|
147
|
+
rspec-expectations (3.13.3)
|
136
148
|
diff-lcs (>= 1.2.0, < 2.0)
|
137
149
|
rspec-support (~> 3.13.0)
|
138
|
-
rspec-its (1.3.
|
150
|
+
rspec-its (1.3.1)
|
139
151
|
rspec-core (>= 3.0.0)
|
140
152
|
rspec-expectations (>= 3.0.0)
|
141
|
-
rspec-mocks (3.13.
|
153
|
+
rspec-mocks (3.13.2)
|
142
154
|
diff-lcs (>= 1.2.0, < 2.0)
|
143
155
|
rspec-support (~> 3.13.0)
|
144
|
-
rspec-support (3.13.
|
145
|
-
rubocop (1.
|
156
|
+
rspec-support (3.13.2)
|
157
|
+
rubocop (1.74.0)
|
146
158
|
json (~> 2.3)
|
147
|
-
language_server-protocol (
|
159
|
+
language_server-protocol (~> 3.17.0.2)
|
160
|
+
lint_roller (~> 1.1.0)
|
148
161
|
parallel (~> 1.10)
|
149
162
|
parser (>= 3.3.0.2)
|
150
163
|
rainbow (>= 2.2.2, < 4.0)
|
151
|
-
regexp_parser (>=
|
152
|
-
|
153
|
-
rubocop-ast (>= 1.30.0, < 2.0)
|
164
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
165
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
154
166
|
ruby-progressbar (~> 1.7)
|
155
|
-
unicode-display_width (>= 2.4.0, <
|
156
|
-
rubocop-ast (1.
|
157
|
-
parser (>= 3.
|
167
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
168
|
+
rubocop-ast (1.43.0)
|
169
|
+
parser (>= 3.3.7.2)
|
170
|
+
prism (~> 1.4)
|
158
171
|
rubocop-performance (1.20.2)
|
159
172
|
rubocop (>= 1.48.1, < 2.0)
|
160
173
|
rubocop-ast (>= 1.30.0, < 2.0)
|
161
174
|
ruby-progressbar (1.13.0)
|
162
|
-
|
175
|
+
securerandom (0.4.1)
|
163
176
|
simplecov (0.13.0)
|
164
177
|
docile (~> 1.1.0)
|
165
178
|
json (>= 1.8, < 3)
|
166
179
|
simplecov-html (~> 0.10.0)
|
167
180
|
simplecov-html (0.10.2)
|
168
|
-
stringio (3.1.
|
169
|
-
thor (1.3.
|
170
|
-
timeout (0.4.
|
181
|
+
stringio (3.1.6)
|
182
|
+
thor (1.3.2)
|
183
|
+
timeout (0.4.3)
|
171
184
|
tzinfo (2.0.6)
|
172
185
|
concurrent-ruby (~> 1.0)
|
173
|
-
unicode-display_width (
|
174
|
-
|
175
|
-
|
186
|
+
unicode-display_width (3.1.4)
|
187
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
188
|
+
unicode-emoji (4.0.4)
|
189
|
+
uri (1.0.3)
|
190
|
+
useragent (0.16.11)
|
191
|
+
zeitwerk (2.6.18)
|
176
192
|
|
177
193
|
PLATFORMS
|
178
194
|
arm64-darwin-21
|
179
195
|
arm64-darwin-22
|
180
196
|
arm64-darwin-23
|
197
|
+
arm64-darwin-24
|
181
198
|
x86_64-linux
|
182
199
|
|
183
200
|
DEPENDENCIES
|
184
201
|
appraisal (~> 2.4.1)
|
202
|
+
base64
|
185
203
|
climate_control (~> 0.0.3)
|
186
204
|
codeclimate-test-reporter (~> 1.0.3)
|
187
205
|
departure!
|
206
|
+
lhm
|
207
|
+
logger
|
208
|
+
mutex_m
|
188
209
|
pry-byebug
|
189
210
|
rake (>= 10.0)
|
190
211
|
rspec (~> 3.4, >= 3.4.0)
|
191
212
|
rspec-its (~> 1.2)
|
192
|
-
rubocop (~> 1.
|
213
|
+
rubocop (~> 1.74.0)
|
193
214
|
rubocop-performance (~> 1.20.2)
|
215
|
+
zeitwerk (< 2.7.0)
|
194
216
|
|
195
217
|
BUNDLED WITH
|
196
|
-
2.
|
218
|
+
2.6.6
|
data/README.md
CHANGED
@@ -147,6 +147,14 @@ end
|
|
147
147
|
It's strongly recommended to name it after this gems name, such as
|
148
148
|
`config/initializers/departure.rb`
|
149
149
|
|
150
|
+
### Configuration Options
|
151
|
+
|
152
|
+
All configuration options are configurable from the `Departure.configure` block example below
|
153
|
+
|
154
|
+
|Option|Default|What it Controls|
|
155
|
+
|---|---|---|
|
156
|
+
|disable_rails_advisory_lock_patch|false|When truthy, disables a patch in at least rails 7.1 and 7.2 where rails throws ConcurrentMigrationErrors due to the inability to release the advisory lock in migrations|
|
157
|
+
|
150
158
|
### Disable on per-migration basis
|
151
159
|
|
152
160
|
Departure gem is enabled by default.
|
data/Rakefile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
|
4
|
+
require 'logger'
|
4
5
|
require './configuration'
|
5
6
|
require './test_database'
|
6
7
|
|
@@ -12,6 +13,14 @@ namespace :db do
|
|
12
13
|
desc 'Create the test database'
|
13
14
|
task :create do
|
14
15
|
config = Configuration.new
|
16
|
+
|
17
|
+
ActiveRecord::Base.establish_connection(
|
18
|
+
adapter: 'mysql2',
|
19
|
+
host: config['hostname'],
|
20
|
+
username: config['username'],
|
21
|
+
password: config['password']
|
22
|
+
)
|
23
|
+
|
15
24
|
TestDatabase.new(config).setup_test_database
|
16
25
|
end
|
17
26
|
end
|
data/bin/rails
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
ENV['RAILS_ENV'] ||= 'development'
|
4
|
+
|
5
|
+
APP_PATH = File.expand_path('../spec/dummy/config/application', __dir__)
|
6
|
+
require_relative '../spec/dummy/config/boot'
|
7
|
+
require 'rake'
|
8
|
+
require 'departure'
|
9
|
+
|
10
|
+
# Load the rails application
|
11
|
+
require APP_PATH
|
12
|
+
|
13
|
+
begin
|
14
|
+
Rails.application.load_tasks
|
15
|
+
Rake::Task['db:create'].invoke
|
16
|
+
|
17
|
+
ENV['SCHEMA'] = File.expand_path('../spec/dummy/db/base_schema.rb', __dir__)
|
18
|
+
Rake::Task['db:schema:load'].invoke
|
19
|
+
rescue StandardError => e
|
20
|
+
puts "there was an error creating your database #{e}"
|
21
|
+
exit 1
|
22
|
+
end
|
23
|
+
|
24
|
+
require 'rails/commands'
|
data/departure.gemspec
CHANGED
@@ -19,10 +19,10 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.required_ruby_version = '>= 2.
|
22
|
+
spec.required_ruby_version = '>= 3.2.0'
|
23
23
|
|
24
|
-
spec.add_runtime_dependency 'railties', '>=
|
25
|
-
spec.add_runtime_dependency 'activerecord', '>=
|
24
|
+
spec.add_runtime_dependency 'railties', '>= 7.0.1'
|
25
|
+
spec.add_runtime_dependency 'activerecord', '>= 7.0.1'
|
26
26
|
spec.add_runtime_dependency 'mysql2', '>= 0.4.0', '< 0.6.0'
|
27
27
|
|
28
28
|
spec.add_development_dependency 'appraisal', '~> 2.4.1'
|
data/gemfiles/rails_7_0.gemfile
CHANGED
@@ -2,9 +2,15 @@
|
|
2
2
|
|
3
3
|
source 'https://rubygems.org'
|
4
4
|
|
5
|
+
gem 'base64'
|
6
|
+
gem 'bigdecimal'
|
5
7
|
gem 'codeclimate-test-reporter', '~> 1.0.3', group: :test, require: nil
|
6
|
-
gem '
|
7
|
-
gem '
|
8
|
+
gem 'lhm'
|
9
|
+
gem 'logger'
|
10
|
+
gem 'mutex_m', require: false
|
11
|
+
gem 'rails', '> 7.0.8'
|
12
|
+
gem 'rubocop', '~> 1.74.0', require: false
|
8
13
|
gem 'rubocop-performance', '~> 1.20.2', require: false
|
14
|
+
gem 'zeitwerk', '< 2.7.0'
|
9
15
|
|
10
16
|
gemspec path: '../'
|