departure 8.1.0 → 8.3.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 +3 -1
- data/.pryrc +6 -6
- data/.standard.yml +9 -0
- data/AGENTS.md +9 -7
- data/Appraisals +8 -9
- data/CHANGELOG.md +7 -1
- data/Gemfile +8 -9
- data/Gemfile.lock +29 -12
- data/README.md +1 -1
- data/RELEASING.md +5 -4
- data/Rakefile +10 -10
- data/configuration.rb +3 -3
- data/departure.gemspec +23 -24
- data/gemfiles/rails_7_2.gemfile +11 -12
- data/gemfiles/rails_7_2.gemfile.lock +29 -12
- data/gemfiles/rails_8_0.gemfile +11 -12
- data/gemfiles/rails_8_0.gemfile.lock +29 -12
- data/gemfiles/rails_8_1.gemfile +10 -12
- data/gemfiles/rails_8_1.gemfile.lock +27 -13
- data/lib/active_record/connection_adapters/departure_adapter_behavior.rb +88 -0
- data/lib/active_record/connection_adapters/for_alter.rb +4 -4
- data/lib/active_record/connection_adapters/patch_connection_handling.rb +2 -2
- data/lib/active_record/connection_adapters/rails_7_2_departure_adapter.rb +17 -58
- data/lib/active_record/connection_adapters/rails_7_2_trilogy_adapter.rb +53 -0
- data/lib/active_record/connection_adapters/rails_8_0_departure_adapter.rb +26 -66
- data/lib/active_record/connection_adapters/rails_8_0_trilogy_adapter.rb +21 -0
- data/lib/active_record/connection_adapters/rails_8_1_mysql2_adapter.rb +7 -7
- data/lib/active_record/connection_adapters/rails_8_1_trilogy_adapter.rb +7 -7
- data/lib/departure/alter_argument.rb +6 -6
- data/lib/departure/cli_generator.rb +12 -12
- data/lib/departure/command.rb +1 -1
- data/lib/departure/configuration.rb +3 -3
- data/lib/departure/connection_details.rb +7 -7
- data/lib/departure/db_client.rb +5 -5
- data/lib/departure/dsn.rb +2 -2
- data/lib/departure/errors.rb +2 -2
- data/lib/departure/log_sanitizers/password_sanitizer.rb +1 -1
- data/lib/departure/logger.rb +2 -2
- data/lib/departure/option.rb +4 -4
- data/lib/departure/rails_adapter.rb +125 -102
- data/lib/departure/rails_patches/active_record_migrator_with_advisory_lock_patch.rb +2 -2
- data/lib/departure/railtie.rb +5 -5
- data/lib/departure/runner.rb +3 -3
- data/lib/departure/user_options.rb +1 -1
- data/lib/departure/version.rb +1 -1
- data/lib/departure.rb +18 -18
- data/lib/lhm/adapter.rb +12 -12
- data/lib/lhm/column_with_sql.rb +8 -8
- data/lib/lhm.rb +1 -1
- data/test_database.rb +10 -10
- metadata +34 -19
- data/.rubocop.yml +0 -66
- data/.rubocop_todo.yml +0 -238
- data/lib/active_record/connection_adapters/rails_8_1_adapter_behavior.rb +0 -64
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 90c804943f17f4dfe39044bf933d689855eed8bdf730ba9b679b1f5ae7ba98d6
|
|
4
|
+
data.tar.gz: 07bf8353553f71b6297c532ac45e15e8d48dc47f94a2da68e01d21fc4194e95d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b2c88d32b46a8bea0d3b2e7ddf904eb0d9c11e15eabc09dcd69abfa199f8c96483926c233e560c4f34ae04b59ac8db9a0741fa38133da7f31907dbb7eecf05b8
|
|
7
|
+
data.tar.gz: 3f3da0ac6e1b50c6334515e17bc515ef5bdec2b7343e154d2bc050ff3614acb596f04d83ac9be44525c5bc406a6fcbbd5e6df5b9bb3987875807960f5f3ca991
|
data/.github/workflows/test.yml
CHANGED
|
@@ -46,6 +46,8 @@ jobs:
|
|
|
46
46
|
- 3.3
|
|
47
47
|
- 3.4
|
|
48
48
|
gemfile:
|
|
49
|
+
- gemfiles/rails_7_2.gemfile
|
|
50
|
+
- gemfiles/rails_8_0.gemfile
|
|
49
51
|
- gemfiles/rails_8_1.gemfile
|
|
50
52
|
env:
|
|
51
53
|
DB_ADAPTER: "trilogy"
|
|
@@ -87,4 +89,4 @@ jobs:
|
|
|
87
89
|
with:
|
|
88
90
|
ruby-version: 3.4
|
|
89
91
|
bundler-cache: true
|
|
90
|
-
- run: bundle exec
|
|
92
|
+
- run: bundle exec standardrb
|
data/.pryrc
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
if defined?(PryByebug)
|
|
2
|
-
Pry.commands.alias_command
|
|
3
|
-
Pry.commands.alias_command
|
|
4
|
-
Pry.commands.alias_command
|
|
5
|
-
Pry.commands.alias_command
|
|
6
|
-
Pry.commands.alias_command
|
|
2
|
+
Pry.commands.alias_command "c", "continue"
|
|
3
|
+
Pry.commands.alias_command "s", "step"
|
|
4
|
+
Pry.commands.alias_command "n", "next"
|
|
5
|
+
Pry.commands.alias_command "f", "finish"
|
|
6
|
+
Pry.commands.alias_command "w", "pry-backtrace"
|
|
7
7
|
|
|
8
|
-
Pry::Commands.command(/^$/,
|
|
8
|
+
Pry::Commands.command(/^$/, "repeat last command") do
|
|
9
9
|
pry_instance.run_command Pry.history.to_a.last
|
|
10
10
|
end
|
|
11
11
|
end
|
data/.standard.yml
ADDED
data/AGENTS.md
CHANGED
|
@@ -4,16 +4,18 @@ Departure is a Ruby gem that wraps Rails ActiveRecord migrations using `ALTER TA
|
|
|
4
4
|
|
|
5
5
|
It must stay aware of how the ActiveRecord API changes across versions and supports all currently supported versions of Rails and Ruby.
|
|
6
6
|
|
|
7
|
-
It supports both the `mysql2` and `trilogy` database adapter gems (trilogy on Rails
|
|
7
|
+
It supports both the `mysql2` and `trilogy` database adapter gems (trilogy on Rails 7.2+).
|
|
8
8
|
|
|
9
9
|
# Project Layout
|
|
10
10
|
|
|
11
11
|
- `lib/active_record/connection_adapters/` — per-Rails-version connection adapters:
|
|
12
12
|
- `rails_7_2_departure_adapter.rb`
|
|
13
|
+
- `rails_7_2_trilogy_adapter.rb`
|
|
13
14
|
- `rails_8_0_departure_adapter.rb`
|
|
15
|
+
- `rails_8_0_trilogy_adapter.rb`
|
|
14
16
|
- `rails_8_1_mysql2_adapter.rb`
|
|
15
17
|
- `rails_8_1_trilogy_adapter.rb`
|
|
16
|
-
- `for_alter.rb`, `patch_connection_handling.rb` — shared behavior
|
|
18
|
+
- `departure_adapter_behavior.rb`, `for_alter.rb`, `patch_connection_handling.rb` — shared behavior. `DepartureAdapterBehavior` holds the composable pieces (SchemaStatements, DbClientConnection, PerformQuery, and the Rails8 composite for Rails >= 8.0 adapters); new adapters should reuse these instead of redefining schema statements or client wrapping.
|
|
17
19
|
- `lib/departure/rails_adapter.rb` — version dispatch. `Departure::RailsAdapter.for(ar_version, db_connection_adapter:)` selects the right adapter class. New Rails/adapter combinations are wired in here.
|
|
18
20
|
- `lib/departure/railtie.rb` — Rails integration entry point; calls `RailsAdapter.register_integrations`.
|
|
19
21
|
- `lib/departure/runner.rb`, `cli_generator.rb`, `command.rb` — intercept ALTER statements and shell out to `pt-online-schema-change`.
|
|
@@ -23,10 +25,10 @@ It supports both the `mysql2` and `trilogy` database adapter gems (trilogy on Ra
|
|
|
23
25
|
|
|
24
26
|
# Adapter Selection
|
|
25
27
|
|
|
26
|
-
1. If the database config specifies `trilogy` (Rails
|
|
28
|
+
1. If the database config specifies `trilogy` (Rails 7.2+), use the trilogy adapter.
|
|
27
29
|
2. Otherwise default to `mysql2`.
|
|
28
30
|
|
|
29
|
-
Selection lives in `Departure::RailsAdapter.for`. When adding a new Rails version, add a `V<MAJOR>_<MINOR>_*Adapter` subclass of `BaseAdapter` and
|
|
31
|
+
Selection lives in `Departure::RailsAdapter.for`. When adding a new Rails version, add a `V<MAJOR>_<MINOR>_*Adapter` subclass of `BaseAdapter` declaring its mysql2/trilogy `Registration`s and add the version to the dispatch table in `.for`.
|
|
30
32
|
|
|
31
33
|
# Development
|
|
32
34
|
|
|
@@ -41,7 +43,7 @@ Set by `docker-compose.yml`; if running outside Docker, export them yourself:
|
|
|
41
43
|
- `PERCONA_DB_PASSWORD`
|
|
42
44
|
- `PERCONA_DB_HOST`
|
|
43
45
|
- `PERCONA_DB_NAME`
|
|
44
|
-
- `DB_ADAPTER=trilogy` — only when running against trilogy
|
|
46
|
+
- `DB_ADAPTER=trilogy` — only when running against trilogy
|
|
45
47
|
|
|
46
48
|
## External dependencies
|
|
47
49
|
|
|
@@ -53,12 +55,12 @@ Set by `docker-compose.yml`; if running outside Docker, export them yourself:
|
|
|
53
55
|
- Be sure that changes are valid against both `rubocop` and the `rspec` suites.
|
|
54
56
|
- The supported test matrix is defined in `.github/workflows/test.yml`:
|
|
55
57
|
- **mysql2:** Ruby 3.2 / 3.3 / 3.4 × Rails 7.2 / 8.0 / 8.1
|
|
56
|
-
- **trilogy:** Ruby 3.2 / 3.3 / 3.4 × Rails 8.1
|
|
58
|
+
- **trilogy:** Ruby 3.2 / 3.3 / 3.4 × Rails 7.2 / 8.0 / 8.1
|
|
57
59
|
- **lint:** Ruby 3.4 with the Rails 8.1 gemfile
|
|
58
60
|
- Run inside Docker via `appraisal`:
|
|
59
61
|
- Full suite: `docker compose exec rails bundle exec appraisal rails-8-1 bundle exec rspec spec`
|
|
60
62
|
- Single example: `docker compose exec rails bundle exec appraisal rails-8-1 bundle exec rspec spec/path/to_spec.rb:LINE`
|
|
61
|
-
- Trilogy run: prepend `DB_ADAPTER=trilogy` to the rspec command
|
|
63
|
+
- Trilogy run: prepend `DB_ADAPTER=trilogy` to the rspec command
|
|
62
64
|
- Lint: `docker compose exec rails bundle exec appraisal rails-8-1 bundle exec rubocop --parallel`
|
|
63
65
|
|
|
64
66
|
# Adding a Rails version
|
data/Appraisals
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
appraise
|
|
2
|
-
gem
|
|
3
|
-
gem
|
|
1
|
+
appraise "rails-7-2" do
|
|
2
|
+
gem "bigdecimal"
|
|
3
|
+
gem "rails", "7.2.2.1"
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
-
appraise
|
|
7
|
-
gem
|
|
8
|
-
gem
|
|
6
|
+
appraise "rails-8-0" do
|
|
7
|
+
gem "bigdecimal"
|
|
8
|
+
gem "rails", "8.0.2.1"
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
appraise
|
|
12
|
-
gem
|
|
13
|
-
gem 'trilogy'
|
|
11
|
+
appraise "rails-8-1" do
|
|
12
|
+
gem "rails", "8.1.1"
|
|
14
13
|
end
|
data/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,13 @@ 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
|
+
## [8.3.0] - 2026-10-29
|
|
8
|
+
|
|
9
|
+
- [Drop the `mysql2` runtime dependency](https://github.com/departurerb/departure/pull/152) so apps can use departure with only `trilogy`; add `mysql2` or `trilogy` to your Gemfile yourself
|
|
10
|
+
|
|
11
|
+
## [8.2.0] - 2026-09-09
|
|
12
|
+
|
|
13
|
+
- [Add Rails 7.2 and 8.0 Trilogy adapter support](https://github.com/departurerb/departure/pull/145)
|
|
8
14
|
|
|
9
15
|
## [8.1.0] - 2026-05-28
|
|
10
16
|
|
data/Gemfile
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
source
|
|
1
|
+
source "https://rubygems.org"
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem
|
|
6
|
-
gem
|
|
7
|
-
gem
|
|
8
|
-
gem
|
|
9
|
-
gem
|
|
10
|
-
gem
|
|
11
|
-
gem
|
|
12
|
-
gem 'zeitwerk', '< 2.7.0'
|
|
5
|
+
gem "base64"
|
|
6
|
+
gem "codeclimate-test-reporter", "~> 1.0.3", group: :test, require: nil
|
|
7
|
+
gem "lhm"
|
|
8
|
+
gem "logger"
|
|
9
|
+
gem "mutex_m", require: false
|
|
10
|
+
gem "standardrb", require: false
|
|
11
|
+
gem "zeitwerk", "< 2.7.0"
|
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
departure (8.
|
|
4
|
+
departure (8.3.0)
|
|
5
5
|
activerecord (>= 7.2.0)
|
|
6
|
-
mysql2 (>= 0.4.0, < 0.6.0)
|
|
7
6
|
railties (>= 7.2.0)
|
|
8
7
|
|
|
9
8
|
GEM
|
|
@@ -99,7 +98,7 @@ GEM
|
|
|
99
98
|
pp (0.6.2)
|
|
100
99
|
prettyprint
|
|
101
100
|
prettyprint (0.2.0)
|
|
102
|
-
prism (1.
|
|
101
|
+
prism (1.9.0)
|
|
103
102
|
pry (0.15.2)
|
|
104
103
|
coderay (~> 1.1)
|
|
105
104
|
method_source (~> 1.0)
|
|
@@ -156,7 +155,7 @@ GEM
|
|
|
156
155
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
157
156
|
rspec-support (~> 3.13.0)
|
|
158
157
|
rspec-support (3.13.2)
|
|
159
|
-
rubocop (1.
|
|
158
|
+
rubocop (1.84.2)
|
|
160
159
|
json (~> 2.3)
|
|
161
160
|
language_server-protocol (~> 3.17.0.2)
|
|
162
161
|
lint_roller (~> 1.1.0)
|
|
@@ -164,15 +163,16 @@ GEM
|
|
|
164
163
|
parser (>= 3.3.0.2)
|
|
165
164
|
rainbow (>= 2.2.2, < 4.0)
|
|
166
165
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
167
|
-
rubocop-ast (>= 1.
|
|
166
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
168
167
|
ruby-progressbar (~> 1.7)
|
|
169
168
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
170
|
-
rubocop-ast (1.
|
|
169
|
+
rubocop-ast (1.49.1)
|
|
171
170
|
parser (>= 3.3.7.2)
|
|
172
|
-
prism (~> 1.
|
|
173
|
-
rubocop-performance (1.
|
|
174
|
-
|
|
175
|
-
rubocop
|
|
171
|
+
prism (~> 1.7)
|
|
172
|
+
rubocop-performance (1.26.1)
|
|
173
|
+
lint_roller (~> 1.1)
|
|
174
|
+
rubocop (>= 1.75.0, < 2.0)
|
|
175
|
+
rubocop-ast (>= 1.47.1, < 2.0)
|
|
176
176
|
ruby-progressbar (1.13.0)
|
|
177
177
|
securerandom (0.4.1)
|
|
178
178
|
simplecov (0.13.0)
|
|
@@ -180,9 +180,25 @@ GEM
|
|
|
180
180
|
json (>= 1.8, < 3)
|
|
181
181
|
simplecov-html (~> 0.10.0)
|
|
182
182
|
simplecov-html (0.10.2)
|
|
183
|
+
standard (1.54.0)
|
|
184
|
+
language_server-protocol (~> 3.17.0.2)
|
|
185
|
+
lint_roller (~> 1.0)
|
|
186
|
+
rubocop (~> 1.84.0)
|
|
187
|
+
standard-custom (~> 1.0.0)
|
|
188
|
+
standard-performance (~> 1.8)
|
|
189
|
+
standard-custom (1.0.2)
|
|
190
|
+
lint_roller (~> 1.0)
|
|
191
|
+
rubocop (~> 1.50)
|
|
192
|
+
standard-performance (1.9.0)
|
|
193
|
+
lint_roller (~> 1.1)
|
|
194
|
+
rubocop-performance (~> 1.26.0)
|
|
195
|
+
standardrb (1.0.1)
|
|
196
|
+
standard
|
|
183
197
|
stringio (3.1.6)
|
|
184
198
|
thor (1.3.2)
|
|
185
199
|
timeout (0.4.3)
|
|
200
|
+
trilogy (2.13.1)
|
|
201
|
+
bigdecimal
|
|
186
202
|
tzinfo (2.0.6)
|
|
187
203
|
concurrent-ruby (~> 1.0)
|
|
188
204
|
unicode-display_width (3.1.4)
|
|
@@ -209,12 +225,13 @@ DEPENDENCIES
|
|
|
209
225
|
lhm
|
|
210
226
|
logger
|
|
211
227
|
mutex_m
|
|
228
|
+
mysql2 (>= 0.4.0, < 0.6.0)
|
|
212
229
|
pry-byebug
|
|
213
230
|
rake (>= 10.0)
|
|
214
231
|
rspec (~> 3.4, >= 3.4.0)
|
|
215
232
|
rspec-its (~> 1.2)
|
|
216
|
-
|
|
217
|
-
|
|
233
|
+
standardrb
|
|
234
|
+
trilogy (~> 2.7)
|
|
218
235
|
zeitwerk (< 2.7.0)
|
|
219
236
|
|
|
220
237
|
BUNDLED WITH
|
data/README.md
CHANGED
|
@@ -157,7 +157,7 @@ All configuration options are configurable from the `Departure.configure` block
|
|
|
157
157
|
|
|
158
158
|
### Trilogy Adapter Support
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
The trilogy database adapter gem is supported on Rails 7.2 and newer. Logic for selecting an adapter follows this logic
|
|
161
161
|
|
|
162
162
|
1. If the database configuration specifies 'trilogy' use the trilogy adapter
|
|
163
163
|
2. Default to mysql2
|
data/RELEASING.md
CHANGED
|
@@ -8,10 +8,11 @@ master, name it following the Rails repo convention, such as `v4.2`, and
|
|
|
8
8
|
we'll keep it open for bug fixes.
|
|
9
9
|
|
|
10
10
|
1. Update `lib/departure/version.rb` accordingly
|
|
11
|
-
2.
|
|
11
|
+
2. Run `bundle && bundle exec appraisal` to udpate the lock files
|
|
12
|
+
3. Review the `CHANGELOG.md` and add a new section following the format
|
|
12
13
|
`[version] - YYYY-MM-DD`. We conform to the guidelines of
|
|
13
14
|
http://keepachangelog.com/
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
4. Commit the changes with the message `Prepare release VERSION`
|
|
16
|
+
5. Execute the release rake task as `bundle exec rake release`. It creates the
|
|
16
17
|
tag, builds and pushes the gem to Rubygems.
|
|
17
|
-
|
|
18
|
+
6. Announce it! :tada:
|
data/Rakefile
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
1
|
+
require "bundler/gem_tasks"
|
|
2
|
+
require "rspec/core/rake_task"
|
|
3
3
|
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
4
|
+
require "logger"
|
|
5
|
+
require "./configuration"
|
|
6
|
+
require "./test_database"
|
|
7
7
|
|
|
8
8
|
RSpec::Core::RakeTask.new(:spec)
|
|
9
9
|
|
|
10
10
|
task default: :spec
|
|
11
11
|
|
|
12
12
|
namespace :db do
|
|
13
|
-
desc
|
|
13
|
+
desc "Create the test database"
|
|
14
14
|
task :create do
|
|
15
15
|
config = Configuration.new
|
|
16
16
|
|
|
17
17
|
ActiveRecord::Base.establish_connection(
|
|
18
|
-
adapter:
|
|
19
|
-
host: config[
|
|
20
|
-
username: config[
|
|
21
|
-
password: config[
|
|
18
|
+
adapter: "mysql2",
|
|
19
|
+
host: config["hostname"],
|
|
20
|
+
username: config["username"],
|
|
21
|
+
password: config["password"]
|
|
22
22
|
)
|
|
23
23
|
|
|
24
24
|
TestDatabase.new(config).setup_test_database
|
data/configuration.rb
CHANGED
data/departure.gemspec
CHANGED
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
lib = File.expand_path('../lib', __FILE__)
|
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
3
|
|
|
6
|
-
require
|
|
4
|
+
require "departure/version"
|
|
7
5
|
|
|
8
6
|
Gem::Specification.new do |spec|
|
|
9
|
-
spec.name
|
|
10
|
-
spec.version
|
|
11
|
-
spec.authors
|
|
12
|
-
spec.email
|
|
13
|
-
spec.summary
|
|
14
|
-
spec.description
|
|
15
|
-
spec.homepage
|
|
16
|
-
spec.license
|
|
7
|
+
spec.name = "departure"
|
|
8
|
+
spec.version = Departure::VERSION
|
|
9
|
+
spec.authors = ["Ilya Zayats", "Pau Pérez", "Fran Casas", "Jorge Morante", "Enrico Stano", "Adrian Serafin", "Kirk Haines", "Guillermo Iguaran", "Austin Story", "Douglas Soares de Andrade"]
|
|
10
|
+
spec.email = ["ilya.zayats@redbooth.com", "pau.perez@redbooth.com", "nflamel@gmail.com", "jorge.morante@redbooth.com", "adrian@softmad.pl", "wyhaines@gmail.com", "guilleiguaran@gmail.com", "lonnieastory@gmail.com", "douglas@51street.dev"]
|
|
11
|
+
spec.summary = "pt-online-schema-change runner for ActiveRecord migrations"
|
|
12
|
+
spec.description = "Execute your ActiveRecord migrations with Percona's pt-online-schema-change. Formerly known as Percona Migrator."
|
|
13
|
+
spec.homepage = "https://github.com/departurerb/departure"
|
|
14
|
+
spec.license = "MIT"
|
|
17
15
|
|
|
18
|
-
spec.files
|
|
19
|
-
spec.require_paths = [
|
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
17
|
+
spec.require_paths = ["lib"]
|
|
20
18
|
|
|
21
|
-
spec.required_ruby_version =
|
|
19
|
+
spec.required_ruby_version = ">= 3.2.0"
|
|
22
20
|
|
|
23
|
-
spec.add_runtime_dependency
|
|
24
|
-
spec.add_runtime_dependency
|
|
25
|
-
spec.add_runtime_dependency 'mysql2', '>= 0.4.0', '< 0.6.0'
|
|
21
|
+
spec.add_runtime_dependency "railties", ">= 7.2.0"
|
|
22
|
+
spec.add_runtime_dependency "activerecord", ">= 7.2.0"
|
|
26
23
|
|
|
27
|
-
spec.add_development_dependency
|
|
28
|
-
spec.add_development_dependency
|
|
29
|
-
spec.add_development_dependency
|
|
30
|
-
spec.add_development_dependency
|
|
31
|
-
spec.add_development_dependency
|
|
32
|
-
spec.add_development_dependency
|
|
24
|
+
spec.add_development_dependency "appraisal", "~> 2.5.0"
|
|
25
|
+
spec.add_development_dependency "mysql2", ">= 0.4.0", "< 0.6.0"
|
|
26
|
+
spec.add_development_dependency "rake", ">= 10.0"
|
|
27
|
+
spec.add_development_dependency "rspec", "~> 3.4", ">= 3.4.0"
|
|
28
|
+
spec.add_development_dependency "rspec-its", "~> 1.2"
|
|
29
|
+
spec.add_development_dependency "trilogy", "~> 2.7"
|
|
30
|
+
spec.add_development_dependency "pry-byebug"
|
|
31
|
+
spec.add_development_dependency "climate_control", "~> 0.0.3"
|
|
33
32
|
end
|
data/gemfiles/rails_7_2.gemfile
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# This file was generated by Appraisal
|
|
2
2
|
|
|
3
|
-
source
|
|
3
|
+
source "https://rubygems.org"
|
|
4
4
|
|
|
5
|
-
gem
|
|
6
|
-
gem
|
|
7
|
-
gem
|
|
8
|
-
gem
|
|
9
|
-
gem
|
|
10
|
-
gem
|
|
11
|
-
gem
|
|
12
|
-
gem
|
|
13
|
-
gem
|
|
14
|
-
gem 'zeitwerk', '< 2.7.0'
|
|
5
|
+
gem "base64"
|
|
6
|
+
gem "codeclimate-test-reporter", "~> 1.0.3", group: :test, require: nil
|
|
7
|
+
gem "lhm"
|
|
8
|
+
gem "logger"
|
|
9
|
+
gem "mutex_m", require: false
|
|
10
|
+
gem "standardrb", require: false
|
|
11
|
+
gem "zeitwerk", "< 2.7.0"
|
|
12
|
+
gem "bigdecimal"
|
|
13
|
+
gem "rails", "7.2.2.1"
|
|
15
14
|
|
|
16
|
-
gemspec path:
|
|
15
|
+
gemspec path: "../"
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
departure (8.
|
|
4
|
+
departure (8.3.0)
|
|
5
5
|
activerecord (>= 7.2.0)
|
|
6
|
-
mysql2 (>= 0.4.0, < 0.6.0)
|
|
7
6
|
railties (>= 7.2.0)
|
|
8
7
|
|
|
9
8
|
GEM
|
|
@@ -167,7 +166,7 @@ GEM
|
|
|
167
166
|
pp (0.6.3)
|
|
168
167
|
prettyprint
|
|
169
168
|
prettyprint (0.2.0)
|
|
170
|
-
prism (1.
|
|
169
|
+
prism (1.9.0)
|
|
171
170
|
pry (0.15.2)
|
|
172
171
|
coderay (~> 1.1)
|
|
173
172
|
method_source (~> 1.0)
|
|
@@ -240,7 +239,7 @@ GEM
|
|
|
240
239
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
241
240
|
rspec-support (~> 3.13.0)
|
|
242
241
|
rspec-support (3.13.6)
|
|
243
|
-
rubocop (1.
|
|
242
|
+
rubocop (1.84.2)
|
|
244
243
|
json (~> 2.3)
|
|
245
244
|
language_server-protocol (~> 3.17.0.2)
|
|
246
245
|
lint_roller (~> 1.1.0)
|
|
@@ -248,15 +247,16 @@ GEM
|
|
|
248
247
|
parser (>= 3.3.0.2)
|
|
249
248
|
rainbow (>= 2.2.2, < 4.0)
|
|
250
249
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
251
|
-
rubocop-ast (>= 1.
|
|
250
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
252
251
|
ruby-progressbar (~> 1.7)
|
|
253
252
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
254
|
-
rubocop-ast (1.
|
|
253
|
+
rubocop-ast (1.49.1)
|
|
255
254
|
parser (>= 3.3.7.2)
|
|
256
|
-
prism (~> 1.
|
|
257
|
-
rubocop-performance (1.
|
|
258
|
-
|
|
259
|
-
rubocop
|
|
255
|
+
prism (~> 1.7)
|
|
256
|
+
rubocop-performance (1.26.1)
|
|
257
|
+
lint_roller (~> 1.1)
|
|
258
|
+
rubocop (>= 1.75.0, < 2.0)
|
|
259
|
+
rubocop-ast (>= 1.47.1, < 2.0)
|
|
260
260
|
ruby-progressbar (1.13.0)
|
|
261
261
|
securerandom (0.4.1)
|
|
262
262
|
simplecov (0.13.0)
|
|
@@ -264,9 +264,25 @@ GEM
|
|
|
264
264
|
json (>= 1.8, < 3)
|
|
265
265
|
simplecov-html (~> 0.10.0)
|
|
266
266
|
simplecov-html (0.10.2)
|
|
267
|
+
standard (1.54.0)
|
|
268
|
+
language_server-protocol (~> 3.17.0.2)
|
|
269
|
+
lint_roller (~> 1.0)
|
|
270
|
+
rubocop (~> 1.84.0)
|
|
271
|
+
standard-custom (~> 1.0.0)
|
|
272
|
+
standard-performance (~> 1.8)
|
|
273
|
+
standard-custom (1.0.2)
|
|
274
|
+
lint_roller (~> 1.0)
|
|
275
|
+
rubocop (~> 1.50)
|
|
276
|
+
standard-performance (1.9.0)
|
|
277
|
+
lint_roller (~> 1.1)
|
|
278
|
+
rubocop-performance (~> 1.26.0)
|
|
279
|
+
standardrb (1.0.1)
|
|
280
|
+
standard
|
|
267
281
|
stringio (3.1.7)
|
|
268
282
|
thor (1.4.0)
|
|
269
283
|
timeout (0.4.4)
|
|
284
|
+
trilogy (2.12.6)
|
|
285
|
+
bigdecimal
|
|
270
286
|
tsort (0.2.0)
|
|
271
287
|
tzinfo (2.0.6)
|
|
272
288
|
concurrent-ruby (~> 1.0)
|
|
@@ -300,13 +316,14 @@ DEPENDENCIES
|
|
|
300
316
|
lhm
|
|
301
317
|
logger
|
|
302
318
|
mutex_m
|
|
319
|
+
mysql2 (>= 0.4.0, < 0.6.0)
|
|
303
320
|
pry-byebug
|
|
304
321
|
rails (= 7.2.2.1)
|
|
305
322
|
rake (>= 10.0)
|
|
306
323
|
rspec (~> 3.4, >= 3.4.0)
|
|
307
324
|
rspec-its (~> 1.2)
|
|
308
|
-
|
|
309
|
-
|
|
325
|
+
standardrb
|
|
326
|
+
trilogy (~> 2.7)
|
|
310
327
|
zeitwerk (< 2.7.0)
|
|
311
328
|
|
|
312
329
|
BUNDLED WITH
|
data/gemfiles/rails_8_0.gemfile
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# This file was generated by Appraisal
|
|
2
2
|
|
|
3
|
-
source
|
|
3
|
+
source "https://rubygems.org"
|
|
4
4
|
|
|
5
|
-
gem
|
|
6
|
-
gem
|
|
7
|
-
gem
|
|
8
|
-
gem
|
|
9
|
-
gem
|
|
10
|
-
gem
|
|
11
|
-
gem
|
|
12
|
-
gem
|
|
13
|
-
gem
|
|
14
|
-
gem 'zeitwerk', '< 2.7.0'
|
|
5
|
+
gem "base64"
|
|
6
|
+
gem "codeclimate-test-reporter", "~> 1.0.3", group: :test, require: nil
|
|
7
|
+
gem "lhm"
|
|
8
|
+
gem "logger"
|
|
9
|
+
gem "mutex_m", require: false
|
|
10
|
+
gem "standardrb", require: false
|
|
11
|
+
gem "zeitwerk", "< 2.7.0"
|
|
12
|
+
gem "bigdecimal"
|
|
13
|
+
gem "rails", "8.0.2.1"
|
|
15
14
|
|
|
16
|
-
gemspec path:
|
|
15
|
+
gemspec path: "../"
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
departure (8.
|
|
4
|
+
departure (8.3.0)
|
|
5
5
|
activerecord (>= 7.2.0)
|
|
6
|
-
mysql2 (>= 0.4.0, < 0.6.0)
|
|
7
6
|
railties (>= 7.2.0)
|
|
8
7
|
|
|
9
8
|
GEM
|
|
@@ -167,7 +166,7 @@ GEM
|
|
|
167
166
|
pp (0.6.3)
|
|
168
167
|
prettyprint
|
|
169
168
|
prettyprint (0.2.0)
|
|
170
|
-
prism (1.
|
|
169
|
+
prism (1.9.0)
|
|
171
170
|
pry (0.15.2)
|
|
172
171
|
coderay (~> 1.1)
|
|
173
172
|
method_source (~> 1.0)
|
|
@@ -240,7 +239,7 @@ GEM
|
|
|
240
239
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
241
240
|
rspec-support (~> 3.13.0)
|
|
242
241
|
rspec-support (3.13.6)
|
|
243
|
-
rubocop (1.
|
|
242
|
+
rubocop (1.84.2)
|
|
244
243
|
json (~> 2.3)
|
|
245
244
|
language_server-protocol (~> 3.17.0.2)
|
|
246
245
|
lint_roller (~> 1.1.0)
|
|
@@ -248,15 +247,16 @@ GEM
|
|
|
248
247
|
parser (>= 3.3.0.2)
|
|
249
248
|
rainbow (>= 2.2.2, < 4.0)
|
|
250
249
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
251
|
-
rubocop-ast (>= 1.
|
|
250
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
252
251
|
ruby-progressbar (~> 1.7)
|
|
253
252
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
254
|
-
rubocop-ast (1.
|
|
253
|
+
rubocop-ast (1.49.1)
|
|
255
254
|
parser (>= 3.3.7.2)
|
|
256
|
-
prism (~> 1.
|
|
257
|
-
rubocop-performance (1.
|
|
258
|
-
|
|
259
|
-
rubocop
|
|
255
|
+
prism (~> 1.7)
|
|
256
|
+
rubocop-performance (1.26.1)
|
|
257
|
+
lint_roller (~> 1.1)
|
|
258
|
+
rubocop (>= 1.75.0, < 2.0)
|
|
259
|
+
rubocop-ast (>= 1.47.1, < 2.0)
|
|
260
260
|
ruby-progressbar (1.13.0)
|
|
261
261
|
securerandom (0.4.1)
|
|
262
262
|
simplecov (0.13.0)
|
|
@@ -264,9 +264,25 @@ GEM
|
|
|
264
264
|
json (>= 1.8, < 3)
|
|
265
265
|
simplecov-html (~> 0.10.0)
|
|
266
266
|
simplecov-html (0.10.2)
|
|
267
|
+
standard (1.54.0)
|
|
268
|
+
language_server-protocol (~> 3.17.0.2)
|
|
269
|
+
lint_roller (~> 1.0)
|
|
270
|
+
rubocop (~> 1.84.0)
|
|
271
|
+
standard-custom (~> 1.0.0)
|
|
272
|
+
standard-performance (~> 1.8)
|
|
273
|
+
standard-custom (1.0.2)
|
|
274
|
+
lint_roller (~> 1.0)
|
|
275
|
+
rubocop (~> 1.50)
|
|
276
|
+
standard-performance (1.9.0)
|
|
277
|
+
lint_roller (~> 1.1)
|
|
278
|
+
rubocop-performance (~> 1.26.0)
|
|
279
|
+
standardrb (1.0.1)
|
|
280
|
+
standard
|
|
267
281
|
stringio (3.1.7)
|
|
268
282
|
thor (1.4.0)
|
|
269
283
|
timeout (0.4.4)
|
|
284
|
+
trilogy (2.12.6)
|
|
285
|
+
bigdecimal
|
|
270
286
|
tsort (0.2.0)
|
|
271
287
|
tzinfo (2.0.6)
|
|
272
288
|
concurrent-ruby (~> 1.0)
|
|
@@ -301,13 +317,14 @@ DEPENDENCIES
|
|
|
301
317
|
lhm
|
|
302
318
|
logger
|
|
303
319
|
mutex_m
|
|
320
|
+
mysql2 (>= 0.4.0, < 0.6.0)
|
|
304
321
|
pry-byebug
|
|
305
322
|
rails (= 8.0.2.1)
|
|
306
323
|
rake (>= 10.0)
|
|
307
324
|
rspec (~> 3.4, >= 3.4.0)
|
|
308
325
|
rspec-its (~> 1.2)
|
|
309
|
-
|
|
310
|
-
|
|
326
|
+
standardrb
|
|
327
|
+
trilogy (~> 2.7)
|
|
311
328
|
zeitwerk (< 2.7.0)
|
|
312
329
|
|
|
313
330
|
BUNDLED WITH
|