departure-next 6.7.1.pre.pre
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 +7 -0
- data/.codeclimate.yml +7 -0
- data/.github/workflows/test.yml +54 -0
- data/.gitignore +14 -0
- data/.pryrc +11 -0
- data/.rspec +2 -0
- data/.rubocop.yml +66 -0
- data/.rubocop_todo.yml +238 -0
- data/20250312235906_add_deleted_reason_to_newsfeed_activities.rb +5 -0
- data/Appraisals +15 -0
- data/CHANGELOG.md +224 -0
- data/CODE_OF_CONDUCT.md +50 -0
- data/Dockerfile +32 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +206 -0
- data/LICENSE.txt +22 -0
- data/README.md +246 -0
- data/RELEASING.md +17 -0
- data/Rakefile +25 -0
- data/bin/console +14 -0
- data/bin/rails +24 -0
- data/bin/rspec +16 -0
- data/bin/setup +7 -0
- data/config.yml.erb +5 -0
- data/configuration.rb +16 -0
- data/departure-next.gemspec +34 -0
- data/docker-compose.yml +23 -0
- data/gemfiles/rails_6_1.gemfile +10 -0
- data/gemfiles/rails_6_1.gemfile.lock +243 -0
- data/gemfiles/rails_7_0.gemfile +10 -0
- data/gemfiles/rails_7_0.gemfile.lock +242 -0
- data/gemfiles/rails_7_1.gemfile +10 -0
- data/gemfiles/rails_7_1.gemfile.lock +274 -0
- data/gemfiles/rails_7_2.gemfile +10 -0
- data/gemfiles/rails_7_2.gemfile.lock +274 -0
- data/lib/active_record/connection_adapters/for_alter.rb +103 -0
- data/lib/active_record/connection_adapters/patch_connection_handling.rb +18 -0
- data/lib/active_record/connection_adapters/percona_adapter.rb +187 -0
- data/lib/active_record/connection_adapters/rails_7_2_departure_adapter.rb +218 -0
- data/lib/departure/alter_argument.rb +49 -0
- data/lib/departure/cli_generator.rb +84 -0
- data/lib/departure/command.rb +105 -0
- data/lib/departure/configuration.rb +21 -0
- data/lib/departure/connection_base.rb +11 -0
- data/lib/departure/connection_details.rb +121 -0
- data/lib/departure/dsn.rb +25 -0
- data/lib/departure/errors.rb +39 -0
- data/lib/departure/log_sanitizers/password_sanitizer.rb +22 -0
- data/lib/departure/logger.rb +42 -0
- data/lib/departure/logger_factory.rb +16 -0
- data/lib/departure/migration.rb +104 -0
- data/lib/departure/null_logger.rb +15 -0
- data/lib/departure/option.rb +75 -0
- data/lib/departure/rails_adapter.rb +97 -0
- data/lib/departure/railtie.rb +21 -0
- data/lib/departure/runner.rb +75 -0
- data/lib/departure/user_options.rb +44 -0
- data/lib/departure/version.rb +3 -0
- data/lib/departure.rb +40 -0
- data/lib/lhm/adapter.rb +107 -0
- data/lib/lhm/column_with_sql.rb +89 -0
- data/lib/lhm/column_with_type.rb +29 -0
- data/lib/lhm.rb +23 -0
- data/test_database.rb +76 -0
- metadata +282 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f2f14fb32023a58be4d0def6f553b67e7a59ecfa92e5319c66770f3c65ecbf22
|
4
|
+
data.tar.gz: efee701ec70d435ed75b12e136c971d88f5bdf317739a5d7d196a1a6106ee363
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7260d9268841719e1c0f0345907492f4fef64769e201d6f5a1ef7a3d8dc7a38d7d2add7654996f1e9436db5db62d5faafd4c493ec884f357e97a1b82863fa9b7
|
7
|
+
data.tar.gz: 99c83d3d9415b0a54483ec5ba726cf5c93cc2559a682d977a6784c24af91fdad9552601c63b0ec660ba55f6c446e1e90e37c78a494d9d5ed86edf6754fa0d08c
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
ruby:
|
11
|
+
- 3.1
|
12
|
+
- 3.2
|
13
|
+
- 3.3
|
14
|
+
gemfile:
|
15
|
+
- gemfiles/rails_6_1.gemfile
|
16
|
+
- gemfiles/rails_7_0.gemfile
|
17
|
+
- gemfiles/rails_7_1.gemfile
|
18
|
+
- gemfiles/rails_7_2.gemfile
|
19
|
+
env:
|
20
|
+
PERCONA_DB_USER: root
|
21
|
+
PERCONA_DB_PASSWORD: root
|
22
|
+
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
23
|
+
runs-on: ubuntu-latest
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@v4
|
26
|
+
- uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
ruby-version: ${{ matrix.ruby }}
|
29
|
+
bundler-cache: true
|
30
|
+
- name: "Add Percona GPG key"
|
31
|
+
run: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9334A25F8507EFA5
|
32
|
+
- name: "Add Percona APT repository"
|
33
|
+
run: echo "deb http://repo.percona.com/apt `lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list
|
34
|
+
- run: sudo apt-get update -qq
|
35
|
+
- run: sudo apt-get install percona-toolkit
|
36
|
+
- name: Start MySQL server
|
37
|
+
run: sudo systemctl start mysql.service
|
38
|
+
- run: bin/setup
|
39
|
+
- run: bundle exec rake
|
40
|
+
lint:
|
41
|
+
strategy:
|
42
|
+
fail-fast: false
|
43
|
+
env:
|
44
|
+
PERCONA_DB_USER: root
|
45
|
+
PERCONA_DB_PASSWORD: root
|
46
|
+
BUNDLE_GEMFILE: gemfiles/rails_7_1.gemfile
|
47
|
+
runs-on: ubuntu-latest
|
48
|
+
steps:
|
49
|
+
- uses: actions/checkout@v4
|
50
|
+
- uses: ruby/setup-ruby@v1
|
51
|
+
with:
|
52
|
+
ruby-version: 3.3
|
53
|
+
bundler-cache: true
|
54
|
+
- run: bundle exec rubocop --parallel
|
data/.gitignore
ADDED
data/.pryrc
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
if defined?(PryByebug)
|
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
|
+
|
8
|
+
Pry::Commands.command(/^$/, 'repeat last command') do
|
9
|
+
pry_instance.run_command Pry.history.to_a.last
|
10
|
+
end
|
11
|
+
end
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
---
|
2
|
+
inherit_from:
|
3
|
+
- .rubocop_todo.yml
|
4
|
+
|
5
|
+
require:
|
6
|
+
- rubocop-performance
|
7
|
+
|
8
|
+
AllCops:
|
9
|
+
TargetRubyVersion: 2.4
|
10
|
+
|
11
|
+
Metrics/AbcSize:
|
12
|
+
Enabled: false
|
13
|
+
|
14
|
+
Metrics/BlockLength:
|
15
|
+
Max: 20
|
16
|
+
Exclude:
|
17
|
+
- 'spec/*'
|
18
|
+
- 'spec/**/*'
|
19
|
+
|
20
|
+
Metrics/BlockNesting:
|
21
|
+
Max: 4
|
22
|
+
|
23
|
+
Metrics/ClassLength:
|
24
|
+
Max: 250
|
25
|
+
|
26
|
+
Layout/LineLength:
|
27
|
+
Max: 120
|
28
|
+
Exclude:
|
29
|
+
- 'departure.gemspec'
|
30
|
+
- 'test_database.rb'
|
31
|
+
|
32
|
+
Metrics/MethodLength:
|
33
|
+
Max: 30
|
34
|
+
|
35
|
+
Metrics/ModuleLength:
|
36
|
+
Max: 250
|
37
|
+
|
38
|
+
Metrics/ParameterLists:
|
39
|
+
Max: 5
|
40
|
+
|
41
|
+
Performance/Casecmp:
|
42
|
+
Enabled: false
|
43
|
+
|
44
|
+
Style/CommandLiteral:
|
45
|
+
Exclude:
|
46
|
+
- 'test_database.rb'
|
47
|
+
|
48
|
+
Style/Documentation:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
Style/FrozenStringLiteralComment:
|
52
|
+
Enabled: false # We never ended up being forced to do this for Ruby 3.x
|
53
|
+
|
54
|
+
Style/MultilineBlockChain:
|
55
|
+
Exclude:
|
56
|
+
- 'spec/integration_spec.rb'
|
57
|
+
|
58
|
+
Layout/MultilineMethodCallIndentation:
|
59
|
+
Enabled: false
|
60
|
+
|
61
|
+
Style/SymbolArray:
|
62
|
+
Enabled: false
|
63
|
+
|
64
|
+
Style/RedundantPercentQ:
|
65
|
+
Exclude:
|
66
|
+
- 'departure.gemspec'
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,238 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2024-02-08 17:09:11 UTC using RuboCop version 1.60.2.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 3
|
10
|
+
# This cop supports safe autocorrection (--autocorrect).
|
11
|
+
# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
|
12
|
+
# Include: **/*.gemspec
|
13
|
+
Gemspec/OrderedDependencies:
|
14
|
+
Exclude:
|
15
|
+
- 'departure.gemspec'
|
16
|
+
|
17
|
+
# Offense count: 1
|
18
|
+
# Configuration parameters: Severity, Include.
|
19
|
+
# Include: **/*.gemspec
|
20
|
+
Gemspec/RequiredRubyVersion:
|
21
|
+
Exclude:
|
22
|
+
- 'departure.gemspec'
|
23
|
+
|
24
|
+
# Offense count: 3
|
25
|
+
# This cop supports safe autocorrection (--autocorrect).
|
26
|
+
# Configuration parameters: EnforcedStyle.
|
27
|
+
# SupportedStyles: leading, trailing
|
28
|
+
Layout/DotPosition:
|
29
|
+
Exclude:
|
30
|
+
- 'spec/integration/indexes_spec.rb'
|
31
|
+
|
32
|
+
# Offense count: 6
|
33
|
+
# This cop supports safe autocorrection (--autocorrect).
|
34
|
+
Layout/EmptyLineAfterGuardClause:
|
35
|
+
Exclude:
|
36
|
+
- 'lib/active_record/connection_adapters/for_alter.rb'
|
37
|
+
- 'lib/active_record/connection_adapters/percona_adapter.rb'
|
38
|
+
- 'lib/departure/alter_argument.rb'
|
39
|
+
- 'lib/departure/log_sanitizers/password_sanitizer.rb'
|
40
|
+
- 'lib/departure/migration.rb'
|
41
|
+
|
42
|
+
# Offense count: 4
|
43
|
+
# This cop supports safe autocorrection (--autocorrect).
|
44
|
+
# Configuration parameters: IndentationWidth.
|
45
|
+
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
|
46
|
+
Layout/FirstArrayElementIndentation:
|
47
|
+
EnforcedStyle: consistent
|
48
|
+
|
49
|
+
# Offense count: 1
|
50
|
+
# This cop supports safe autocorrection (--autocorrect).
|
51
|
+
# Configuration parameters: Width, AllowedPatterns.
|
52
|
+
Layout/IndentationWidth:
|
53
|
+
Exclude:
|
54
|
+
- 'spec/integration/indexes_spec.rb'
|
55
|
+
|
56
|
+
# Offense count: 1
|
57
|
+
# This cop supports safe autocorrection (--autocorrect).
|
58
|
+
# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment.
|
59
|
+
Layout/LeadingCommentSpace:
|
60
|
+
Exclude:
|
61
|
+
- 'lib/active_record/connection_adapters/for_alter.rb'
|
62
|
+
|
63
|
+
# Offense count: 2
|
64
|
+
# This cop supports safe autocorrection (--autocorrect).
|
65
|
+
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
|
66
|
+
# SupportedStyles: space, no_space, compact
|
67
|
+
# SupportedStylesForEmptyBraces: space, no_space
|
68
|
+
Layout/SpaceInsideHashLiteralBraces:
|
69
|
+
Exclude:
|
70
|
+
- 'spec/active_record/connection_adapters/percona_adapter_spec.rb'
|
71
|
+
|
72
|
+
# Offense count: 9
|
73
|
+
# Configuration parameters: AllowedMethods.
|
74
|
+
# AllowedMethods: enums
|
75
|
+
Lint/ConstantDefinitionInBlock:
|
76
|
+
Exclude:
|
77
|
+
- 'spec/integration/change_table_spec.rb'
|
78
|
+
- 'spec/integration/columns_spec.rb'
|
79
|
+
- 'spec/integration/data_migrations_spec.rb'
|
80
|
+
- 'spec/integration/foreign_keys_spec.rb'
|
81
|
+
- 'spec/integration/indexes_spec.rb'
|
82
|
+
- 'spec/integration/references_spec.rb'
|
83
|
+
- 'spec/integration/tables_spec.rb'
|
84
|
+
- 'spec/integration_spec.rb'
|
85
|
+
- 'spec/lhm_integration_spec.rb'
|
86
|
+
|
87
|
+
# Offense count: 2
|
88
|
+
# This cop supports safe autocorrection (--autocorrect).
|
89
|
+
Lint/RedundantCopDisableDirective:
|
90
|
+
Exclude:
|
91
|
+
- 'lib/active_record/connection_adapters/percona_adapter.rb'
|
92
|
+
- 'lib/departure/command.rb'
|
93
|
+
|
94
|
+
# Offense count: 1
|
95
|
+
# This cop supports safe autocorrection (--autocorrect).
|
96
|
+
Lint/SendWithMixinArgument:
|
97
|
+
Exclude:
|
98
|
+
- 'spec/spec_helper.rb'
|
99
|
+
|
100
|
+
# Offense count: 2
|
101
|
+
# This cop supports safe autocorrection (--autocorrect).
|
102
|
+
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
|
103
|
+
Lint/UnusedMethodArgument:
|
104
|
+
Exclude:
|
105
|
+
- 'lib/active_record/connection_adapters/for_alter.rb'
|
106
|
+
- 'spec/spec_helper.rb'
|
107
|
+
|
108
|
+
# Offense count: 1
|
109
|
+
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
|
110
|
+
# AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
|
111
|
+
Naming/MethodParameterName:
|
112
|
+
Exclude:
|
113
|
+
- 'lib/active_record/connection_adapters/percona_adapter.rb'
|
114
|
+
|
115
|
+
# Offense count: 1
|
116
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
117
|
+
Security/YAMLLoad:
|
118
|
+
Exclude:
|
119
|
+
- 'configuration.rb'
|
120
|
+
|
121
|
+
# Offense count: 1
|
122
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
123
|
+
# Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols.
|
124
|
+
# SupportedStyles: inline, group
|
125
|
+
Style/AccessModifierDeclarations:
|
126
|
+
Exclude:
|
127
|
+
- 'lib/departure/migration.rb'
|
128
|
+
|
129
|
+
# Offense count: 1
|
130
|
+
# This cop supports safe autocorrection (--autocorrect).
|
131
|
+
# Configuration parameters: EnforcedStyle.
|
132
|
+
# SupportedStyles: compact, expanded
|
133
|
+
Style/EmptyMethod:
|
134
|
+
Exclude:
|
135
|
+
- 'spec/fixtures/migrate/0029_disable_departure.rb'
|
136
|
+
|
137
|
+
# Offense count: 1
|
138
|
+
# This cop supports safe autocorrection (--autocorrect).
|
139
|
+
Style/Encoding:
|
140
|
+
Exclude:
|
141
|
+
- 'departure.gemspec'
|
142
|
+
|
143
|
+
# Offense count: 4
|
144
|
+
# This cop supports safe autocorrection (--autocorrect).
|
145
|
+
Style/ExpandPathArguments:
|
146
|
+
Exclude:
|
147
|
+
- 'departure.gemspec'
|
148
|
+
- 'spec/lhm_integration_spec.rb'
|
149
|
+
- 'spec/spec_helper.rb'
|
150
|
+
|
151
|
+
# Offense count: 2
|
152
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
153
|
+
Style/GlobalStdStream:
|
154
|
+
Exclude:
|
155
|
+
- 'lib/active_record/connection_adapters/for_alter.rb'
|
156
|
+
- 'spec/spec_helper.rb'
|
157
|
+
|
158
|
+
# Offense count: 2
|
159
|
+
# This cop supports safe autocorrection (--autocorrect).
|
160
|
+
Style/IfUnlessModifier:
|
161
|
+
Exclude:
|
162
|
+
- 'lib/active_record/connection_adapters/percona_adapter.rb'
|
163
|
+
- 'lib/departure/connection_details.rb'
|
164
|
+
|
165
|
+
# Offense count: 1
|
166
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
167
|
+
# Configuration parameters: EnforcedStyle.
|
168
|
+
# SupportedStyles: literals, strict
|
169
|
+
Style/MutableConstant:
|
170
|
+
Exclude:
|
171
|
+
- 'lib/departure/alter_argument.rb'
|
172
|
+
|
173
|
+
# Offense count: 2
|
174
|
+
# Configuration parameters: AllowedMethods.
|
175
|
+
# AllowedMethods: respond_to_missing?
|
176
|
+
Style/OptionalBooleanParameter:
|
177
|
+
Exclude:
|
178
|
+
- 'lib/departure/logger.rb'
|
179
|
+
- 'lib/departure/null_logger.rb'
|
180
|
+
|
181
|
+
# Offense count: 1
|
182
|
+
# This cop supports safe autocorrection (--autocorrect).
|
183
|
+
Style/RedundantConditional:
|
184
|
+
Exclude:
|
185
|
+
- 'lib/lhm/column_with_sql.rb'
|
186
|
+
|
187
|
+
# Offense count: 1
|
188
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
189
|
+
Style/RedundantInterpolation:
|
190
|
+
Exclude:
|
191
|
+
- 'spec/active_record/connection_adapters/percona_adapter_spec.rb'
|
192
|
+
|
193
|
+
# Offense count: 1
|
194
|
+
# This cop supports safe autocorrection (--autocorrect).
|
195
|
+
Style/RedundantRegexpCharacterClass:
|
196
|
+
Exclude:
|
197
|
+
- 'lib/departure/alter_argument.rb'
|
198
|
+
|
199
|
+
# Offense count: 1
|
200
|
+
# This cop supports safe autocorrection (--autocorrect).
|
201
|
+
Style/StderrPuts:
|
202
|
+
Exclude:
|
203
|
+
- 'lib/active_record/connection_adapters/for_alter.rb'
|
204
|
+
|
205
|
+
# Offense count: 1
|
206
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
207
|
+
# Configuration parameters: Mode.
|
208
|
+
Style/StringConcatenation:
|
209
|
+
Exclude:
|
210
|
+
- 'lib/departure/dsn.rb'
|
211
|
+
|
212
|
+
# Offense count: 12
|
213
|
+
# This cop supports safe autocorrection (--autocorrect).
|
214
|
+
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
215
|
+
# SupportedStyles: single_quotes, double_quotes
|
216
|
+
Style/StringLiterals:
|
217
|
+
Exclude:
|
218
|
+
- 'spec/active_record/connection_adapters/percona_adapter_spec.rb'
|
219
|
+
- 'spec/fixtures/migrate/0030_data_migration_with_upsert_all.rb'
|
220
|
+
- 'spec/integration/data_migrations_spec.rb'
|
221
|
+
- 'spec/integration/foreign_keys_spec.rb'
|
222
|
+
- 'spec/lhm/column_with_sql_spec.rb'
|
223
|
+
|
224
|
+
# Offense count: 1
|
225
|
+
# This cop supports safe autocorrection (--autocorrect).
|
226
|
+
# Configuration parameters: EnforcedStyleForMultiline.
|
227
|
+
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
|
228
|
+
Style/TrailingCommaInArguments:
|
229
|
+
Exclude:
|
230
|
+
- 'spec/departure/runner_spec.rb'
|
231
|
+
|
232
|
+
# Offense count: 1
|
233
|
+
# This cop supports safe autocorrection (--autocorrect).
|
234
|
+
# Configuration parameters: EnforcedStyleForMultiline.
|
235
|
+
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
|
236
|
+
Style/TrailingCommaInArrayLiteral:
|
237
|
+
Exclude:
|
238
|
+
- 'spec/integration/data_migrations_spec.rb'
|
data/Appraisals
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,224 @@
|
|
1
|
+
# Change Log
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
|
+
|
5
|
+
Please follow the format in [Keep a Changelog](http://keepachangelog.com/)
|
6
|
+
|
7
|
+
## [Unreleased]
|
8
|
+
|
9
|
+
- Drop Ruby 3.0 support in specs
|
10
|
+
- Create dummy application in specs, migrate fixtures to that application
|
11
|
+
- Create a `bin/rails` command that loads the database from the dummy application
|
12
|
+
- Create a RailsAdapter that will handle creating connections inside of different versions of rails
|
13
|
+
- Implement a Rails72DeparatureAdapater that handles the differences between Rails 7.2 and other rails versions
|
14
|
+
|
15
|
+
## [6.7.0] - 2024-02-20
|
16
|
+
|
17
|
+
- Flex mysql2 dependency to < 0.6 and bump version to 0.5.6
|
18
|
+
- Drop support for older than the latest EOL Ruby (2.7) and Rails (6.0)
|
19
|
+
|
20
|
+
## [6.6.0] - 2024-01-02
|
21
|
+
|
22
|
+
- Fix support for Rails 6.0 and ForAlter `remove_index` .
|
23
|
+
- Support Rails 7.1.2
|
24
|
+
|
25
|
+
## [6.5.0] - 2023-01-24
|
26
|
+
|
27
|
+
- Support mysql gem version 0.5.5
|
28
|
+
- Support for connection to MySQL server over socket
|
29
|
+
- Support appending items to the general DSN. Used to apply workaround for [PT-2126](https://jira.percona.com/browse/PT-2126)
|
30
|
+
|
31
|
+
## [6.4.0] - 2022-08-24
|
32
|
+
|
33
|
+
- Support for ActiveRecord 6.1.4
|
34
|
+
- Relax mysql2 requirement to allow mysql2 0.5.4
|
35
|
+
- Support Rails 6' #upsert_all
|
36
|
+
|
37
|
+
## [6.3.0] - 2020-06-23
|
38
|
+
|
39
|
+
- Support for ActiveRecord 6.1
|
40
|
+
|
41
|
+
## [6.2.0] - 2020-06-23
|
42
|
+
|
43
|
+
### Added
|
44
|
+
|
45
|
+
- Support for ActiveRecord 6.0
|
46
|
+
- Support for ActiveRecord 5.2
|
47
|
+
- Relax mysql2 requirement to allow mysql2 0.5.3
|
48
|
+
- Support to batch multiple changes at once with #change_table
|
49
|
+
- Support for connection to MySQL server over SSL
|
50
|
+
|
51
|
+
### Changed
|
52
|
+
|
53
|
+
- Depend only in railties and activerecord instead of rails gem
|
54
|
+
|
55
|
+
### Deprecated
|
56
|
+
### Removed
|
57
|
+
### Fixed
|
58
|
+
|
59
|
+
- Fix support for removing foreign keys
|
60
|
+
- Fix PERCONA_ARGS syntax for critical-load option
|
61
|
+
- Make sure quotes in ALTER TABLE get correctly escaped
|
62
|
+
- Fixes for regex handling
|
63
|
+
- Fix LHM compatibility
|
64
|
+
|
65
|
+
## [6.1.0] - 2018-02-27
|
66
|
+
|
67
|
+
### Added
|
68
|
+
### Changed
|
69
|
+
|
70
|
+
- Permit PERCONA_ARGS to be applied to db:migrate tasks
|
71
|
+
|
72
|
+
### Deprecated
|
73
|
+
### Removed
|
74
|
+
### Fixed
|
75
|
+
|
76
|
+
- Output lines are no longer wrapped at 8 chars
|
77
|
+
|
78
|
+
## [6.0.0] - 2017-09-25
|
79
|
+
|
80
|
+
### Added
|
81
|
+
|
82
|
+
- Support for ActiveRecord 5.1
|
83
|
+
|
84
|
+
### Changed
|
85
|
+
### Deprecated
|
86
|
+
### Removed
|
87
|
+
### Fixed
|
88
|
+
|
89
|
+
## [5.0.0] - 2017-09-19
|
90
|
+
|
91
|
+
### Added
|
92
|
+
|
93
|
+
- Support for ActiveRecord 5.0
|
94
|
+
- Docker setup to run the spec suite
|
95
|
+
|
96
|
+
### Changed
|
97
|
+
### Deprecated
|
98
|
+
### Removed
|
99
|
+
### Fixed
|
100
|
+
|
101
|
+
- Allow using bash special characters in passwords
|
102
|
+
|
103
|
+
## [4.0.1] - 2017-08-01
|
104
|
+
|
105
|
+
### Added
|
106
|
+
|
107
|
+
- Support for all pt-osc command-line options, including short forms and array
|
108
|
+
arguments
|
109
|
+
|
110
|
+
### Changed
|
111
|
+
### Deprecated
|
112
|
+
### Removed
|
113
|
+
### Fixed
|
114
|
+
|
115
|
+
## [4.0.0] - 2017-06-12
|
116
|
+
|
117
|
+
### Added
|
118
|
+
### Changed
|
119
|
+
|
120
|
+
- Rename the gem from percona_migrator to departure.
|
121
|
+
|
122
|
+
### Deprecated
|
123
|
+
### Removed
|
124
|
+
|
125
|
+
- Percona_migrator's deprecation warnings when installing and running the gem.
|
126
|
+
|
127
|
+
### Fixed
|
128
|
+
|
129
|
+
## [3.0.0] - 2016-04-07
|
130
|
+
|
131
|
+
### Added
|
132
|
+
|
133
|
+
- Support for ActiveRecord 4.2.x
|
134
|
+
- Support for Mysql2 4.x
|
135
|
+
- Allow passing any `pt-online-schema-change`'s arguments through the
|
136
|
+
`PERCONA_ARGS` env var when executing a migration with `rake db:migrate:up`
|
137
|
+
or `db:migrate:down`.
|
138
|
+
- Allow setting global percona arguments via gem configuration
|
139
|
+
- Filter MySQL's password from logs
|
140
|
+
|
141
|
+
### Changed
|
142
|
+
|
143
|
+
- Enable default pt-online-schema-change replicas discovering mechanism.
|
144
|
+
So far, this was purposely set to `none`. To keep this same behaviour
|
145
|
+
provide the `PERCONA_ARGS=--recursion-method=none` env var when running the
|
146
|
+
migration.
|
147
|
+
|
148
|
+
## [1.0.0] - 2016-11-30
|
149
|
+
|
150
|
+
### Added
|
151
|
+
|
152
|
+
- Show pt-online-schema-change's stdout while the migration is running instead
|
153
|
+
of at then and all at once.
|
154
|
+
- Store pt-online-schema-change's stderr to percona_migrator_error.log in the
|
155
|
+
default Rails tmp folder.
|
156
|
+
- Allow configuring the tmp directory where the error log gets written into,
|
157
|
+
with the `tmp_path` configuration setting.
|
158
|
+
- Support for ActiveRecord 4.0. Adds the following migration methods:
|
159
|
+
- #rename_index, #change_column_null, #add_reference, #remove_reference,
|
160
|
+
#set_field_encoding, #add_timestamps, #remove_timestamps, #rename_table,
|
161
|
+
#rename_column
|
162
|
+
|
163
|
+
## [0.1.0.rc.7] - 2016-09-15
|
164
|
+
|
165
|
+
### Added
|
166
|
+
|
167
|
+
- Toggle pt-online-schema-change's output as well when toggling the migration's
|
168
|
+
verbose option.
|
169
|
+
|
170
|
+
### Changed
|
171
|
+
|
172
|
+
- Enabled pt-online-schema-change's output while running the migration, that got
|
173
|
+
broken in v0.1.0.rc.2
|
174
|
+
|
175
|
+
## [0.1.0.rc.6] - 2016-04-07
|
176
|
+
|
177
|
+
### Added
|
178
|
+
|
179
|
+
- Support non-ddl migrations by implementing the methods for the ActiveRecord
|
180
|
+
quering to work.
|
181
|
+
|
182
|
+
### Changed
|
183
|
+
|
184
|
+
- Refactor the PerconaAdapter to use the Runner as connection client, as all the
|
185
|
+
other adapters.
|
186
|
+
|
187
|
+
## [0.1.0.rc.5] - 2016-03-29
|
188
|
+
|
189
|
+
### Changed
|
190
|
+
|
191
|
+
- Raise a ActiveRecord::StatementInvalid on failed migration. It also provides
|
192
|
+
more detailed error message when possible such as pt-onlin-schema-change
|
193
|
+
being missing.
|
194
|
+
|
195
|
+
## [0.1.0.rc.4] - 2016-03-15
|
196
|
+
|
197
|
+
### Added
|
198
|
+
|
199
|
+
- Support #drop_table
|
200
|
+
- Support for foreing keys in db/schema.rb when using [Foreigner
|
201
|
+
gem](https://github.com/matthuhiggins/foreigner) in Rails 3 apps. This allows to
|
202
|
+
define foreign keys with #execute, but does not provide support for
|
203
|
+
add_foreign_key yet.
|
204
|
+
|
205
|
+
## [0.1.0.rc.3] - 2016-03-10
|
206
|
+
|
207
|
+
### Added
|
208
|
+
|
209
|
+
- Support #execute. Allows to execute raw SQL from the migration
|
210
|
+
|
211
|
+
## [0.1.0.rc.2] - 2016-03-09
|
212
|
+
|
213
|
+
### Added
|
214
|
+
|
215
|
+
- VERBOSE env var in tests. Specially useful for integration tests.
|
216
|
+
- Fix #create_table migration method. Now it does create the table.
|
217
|
+
|
218
|
+
### Changed
|
219
|
+
|
220
|
+
- Use ActiveRecord's logger instead of specifying one in the connection data.
|
221
|
+
|
222
|
+
## [0.1.0.rc.1] - 2016-03-01
|
223
|
+
|
224
|
+
- Initial gem version
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, and in the interest of
|
4
|
+
fostering an open and welcoming community, we pledge to respect all people who
|
5
|
+
contribute through reporting issues, posting feature requests, updating
|
6
|
+
documentation, submitting pull requests or patches, and other activities.
|
7
|
+
|
8
|
+
We are committed to making participation in this project a harassment-free
|
9
|
+
experience for everyone, regardless of level of experience, gender, gender
|
10
|
+
identity and expression, sexual orientation, disability, personal appearance,
|
11
|
+
body size, race, ethnicity, age, religion, or nationality.
|
12
|
+
|
13
|
+
Examples of unacceptable behavior by participants include:
|
14
|
+
|
15
|
+
* The use of sexualized language or imagery
|
16
|
+
* Personal attacks
|
17
|
+
* Trolling or insulting/derogatory comments
|
18
|
+
* Public or private harassment
|
19
|
+
* Publishing other's private information, such as physical or electronic
|
20
|
+
addresses, without explicit permission
|
21
|
+
* Other unethical or unprofessional conduct
|
22
|
+
|
23
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
24
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
25
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
26
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
27
|
+
threatening, offensive, or harmful.
|
28
|
+
|
29
|
+
By adopting this Code of Conduct, project maintainers commit themselves to
|
30
|
+
fairly and consistently applying these principles to every aspect of managing
|
31
|
+
this project. Project maintainers who do not follow or enforce the Code of
|
32
|
+
Conduct may be permanently removed from the project team.
|
33
|
+
|
34
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
35
|
+
when an individual is representing the project or its community.
|
36
|
+
|
37
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
38
|
+
reported by contacting a project maintainer at accounts@redbooth.com. All
|
39
|
+
complaints will be reviewed and investigated and will result in a response that
|
40
|
+
is deemed necessary and appropriate to the circumstances. Maintainers are
|
41
|
+
obligated to maintain confidentiality with regard to the reporter of an
|
42
|
+
incident.
|
43
|
+
|
44
|
+
|
45
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
46
|
+
version 1.3.0, available at
|
47
|
+
[http://contributor-covenant.org/version/1/3/0/][version]
|
48
|
+
|
49
|
+
[homepage]: http://contributor-covenant.org
|
50
|
+
[version]: http://contributor-covenant.org/version/1/3/0/
|