departure 6.3.0 → 6.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +45 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +10 -0
- data/README.md +3 -1
- data/bin/console +1 -1
- data/departure.gemspec +3 -3
- data/lib/active_record/connection_adapters/for_alter.rb +16 -10
- data/lib/active_record/connection_adapters/percona_adapter.rb +26 -14
- data/lib/departure/command.rb +9 -4
- data/lib/departure/configuration.rb +2 -1
- data/lib/departure/connection_base.rb +2 -0
- data/lib/departure/migration.rb +1 -1
- data/lib/departure/runner.rb +3 -2
- data/lib/departure/version.rb +1 -1
- metadata +28 -16
- data/.travis.yml +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e9b07d68819910b4f867268d8680b65677e6c11fe91b7f5c2f3a4b62cee627a
|
4
|
+
data.tar.gz: daf4792210ea603d0732fae6daebe97fcbea253960067d800495b49b6c2aa866
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ba37179c249db07bc0770288ff6103ee4502846488319356bb2aad94738dd5727c42fea899e97aaccb974d5e0bd6f06d475ee0f922d460ec0cc2a2a0ad95f4b
|
7
|
+
data.tar.gz: 9c5acbc1f3b3064341f371e584c3e3da4f326d9f3bfc9a32d844dccdd12bf50c4c6c4519c5742f086fbb4261e252fc31fa6c5cf5777f1d028da4e4798d127aa8
|
@@ -0,0 +1,45 @@
|
|
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
|
+
- 2.5
|
12
|
+
- 2.6
|
13
|
+
- 2.7
|
14
|
+
rails:
|
15
|
+
- 5.2.0
|
16
|
+
- 6.0.0
|
17
|
+
- 6.1.0
|
18
|
+
include:
|
19
|
+
- ruby: 2.4
|
20
|
+
rails: 5.2.0
|
21
|
+
- ruby: 2.7
|
22
|
+
rails: 7.0.1
|
23
|
+
- ruby: 3.0
|
24
|
+
rails: 6.1.0
|
25
|
+
env:
|
26
|
+
PERCONA_DB_USER: root
|
27
|
+
PERCONA_DB_PASSWORD: root
|
28
|
+
RAILS_VERSION: "~> ${{ matrix.rails }}"
|
29
|
+
runs-on: ubuntu-latest
|
30
|
+
steps:
|
31
|
+
- uses: actions/checkout@v2
|
32
|
+
- uses: ruby/setup-ruby@v1
|
33
|
+
with:
|
34
|
+
ruby-version: ${{ matrix.ruby }}
|
35
|
+
bundler-cache: true
|
36
|
+
- name: "Add Percona GPG key"
|
37
|
+
run: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9334A25F8507EFA5
|
38
|
+
- name: "Add Percona APT repository"
|
39
|
+
run: echo "deb http://repo.percona.com/apt `lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list
|
40
|
+
- run: sudo apt-get update -qq
|
41
|
+
- run: sudo apt-get install percona-toolkit
|
42
|
+
- name: Start MySQL server
|
43
|
+
run: sudo systemctl start mysql.service
|
44
|
+
- run: bin/setup
|
45
|
+
- run: bundle exec rake
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,16 @@ Please follow the format in [Keep a Changelog](http://keepachangelog.com/)
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [6.4.0] - 2020-06-23
|
10
|
+
|
11
|
+
- Support for ActiveRecord 6.1.4
|
12
|
+
- Relax mysql2 requirement to allow mysql2 0.5.4
|
13
|
+
- Support Rails 6' #upsert_all
|
14
|
+
|
15
|
+
## [6.3.0] - 2020-06-23
|
16
|
+
|
17
|
+
- Support for ActiveRecord 6.1
|
18
|
+
|
9
19
|
## [6.2.0] - 2020-06-23
|
10
20
|
|
11
21
|
### Added
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
# Departure
|
1
|
+
# Departure
|
2
|
+
|
3
|
+
![Build Status](https://img.shields.io/travis/departurerb/departure?style=for-the-badge) ![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/departurerb/departure?style=for-the-badge) ![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/departurerb/departure/latest/master?style=for-the-badge)
|
2
4
|
|
3
5
|
Departure is an **ActiveRecord connection adapter** that allows running
|
4
6
|
**MySQL online and non-blocking DDL** through `ActiveRecord::Migration` without needing
|
data/bin/console
CHANGED
data/departure.gemspec
CHANGED
@@ -7,7 +7,7 @@ require 'departure/version'
|
|
7
7
|
|
8
8
|
# This environment variable is set on CI to facilitate testing with multiple
|
9
9
|
# versions of Rails.
|
10
|
-
RAILS_DEPENDENCY_VERSION = ENV.fetch('RAILS_VERSION', ['>= 5.2.0', '
|
10
|
+
RAILS_DEPENDENCY_VERSION = ENV.fetch('RAILS_VERSION', ['>= 5.2.0', '!= 7.0.0', '< 7.1'])
|
11
11
|
|
12
12
|
Gem::Specification.new do |spec|
|
13
13
|
spec.name = 'departure'
|
@@ -25,9 +25,9 @@ Gem::Specification.new do |spec|
|
|
25
25
|
|
26
26
|
spec.add_runtime_dependency 'railties', *Array(RAILS_DEPENDENCY_VERSION)
|
27
27
|
spec.add_runtime_dependency 'activerecord', *Array(RAILS_DEPENDENCY_VERSION)
|
28
|
-
spec.add_runtime_dependency 'mysql2', '>= 0.4.0', '<= 0.5.
|
28
|
+
spec.add_runtime_dependency 'mysql2', '>= 0.4.0', '<= 0.5.4'
|
29
29
|
|
30
|
-
spec.add_development_dependency 'rake', '
|
30
|
+
spec.add_development_dependency 'rake', '>= 10.0'
|
31
31
|
spec.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
|
32
32
|
spec.add_development_dependency 'rspec-its', '~> 1.2'
|
33
33
|
spec.add_development_dependency 'pry-byebug'
|
@@ -32,7 +32,7 @@ module ForAlterStatements
|
|
32
32
|
}.merge(options)
|
33
33
|
|
34
34
|
td = create_table_definition(table_name)
|
35
|
-
cd = td.new_column_definition(column.name, type, options)
|
35
|
+
cd = td.new_column_definition(column.name, type, **options)
|
36
36
|
schema_creation.accept(ActiveRecord::ConnectionAdapters::ChangeColumnDefinition.new(cd, column.name))
|
37
37
|
end
|
38
38
|
|
@@ -47,20 +47,26 @@ module ForAlterStatements
|
|
47
47
|
columns_sql = "SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE #{quote(column_name)}"
|
48
48
|
current_type = exec_query(columns_sql, 'SCHEMA').first['Type']
|
49
49
|
td = create_table_definition(table_name)
|
50
|
-
cd = td.new_column_definition(new_column_name, current_type, options)
|
50
|
+
cd = td.new_column_definition(new_column_name, current_type, **options)
|
51
51
|
schema_creation.accept(ActiveRecord::ConnectionAdapters::ChangeColumnDefinition.new(cd, column.name))
|
52
52
|
end
|
53
53
|
|
54
54
|
def add_index_for_alter(table_name, column_name, options = {})
|
55
|
-
|
56
|
-
|
55
|
+
if ActiveRecord::VERSION::STRING >= '6.1'
|
56
|
+
index_definition, = add_index_options(table_name, column_name, **options)
|
57
57
|
|
58
|
-
|
59
|
-
|
58
|
+
"ADD #{schema_creation.accept(index_definition)}"
|
59
|
+
else
|
60
|
+
index_name, index_type, index_columns, _,
|
61
|
+
index_algorithm, index_using = add_index_options(table_name, column_name, **options)
|
62
|
+
index_algorithm[0, 0] = ', ' if index_algorithm.present?
|
63
|
+
|
64
|
+
"ADD #{index_type} INDEX #{quote_column_name(index_name)} #{index_using} (#{index_columns})#{index_algorithm}"
|
65
|
+
end
|
60
66
|
end
|
61
67
|
|
62
|
-
def remove_index_for_alter(table_name, options = {})
|
63
|
-
index_name = index_name_for_remove(table_name, options)
|
68
|
+
def remove_index_for_alter(table_name, column_name, options = {})
|
69
|
+
index_name = index_name_for_remove(table_name, column_name, options)
|
64
70
|
"DROP INDEX #{quote_column_name(index_name)}"
|
65
71
|
end
|
66
72
|
|
@@ -77,7 +83,7 @@ module ForAlterStatements
|
|
77
83
|
|
78
84
|
def add_column_for_alter(table_name, column_name, type, options = {})
|
79
85
|
td = create_table_definition(table_name)
|
80
|
-
cd = td.new_column_definition(column_name, type, options)
|
86
|
+
cd = td.new_column_definition(column_name, type, **options)
|
81
87
|
schema_creation.accept(ActiveRecord::ConnectionAdapters::AddColumnDefinition.new(cd))
|
82
88
|
end
|
83
89
|
|
@@ -85,7 +91,7 @@ module ForAlterStatements
|
|
85
91
|
"DROP COLUMN #{quote_column_name(column_name)}"
|
86
92
|
end
|
87
93
|
|
88
|
-
def remove_columns_for_alter(table_name, *column_names)
|
94
|
+
def remove_columns_for_alter(table_name, *column_names, **options)
|
89
95
|
column_names.map { |column_name| remove_column_for_alter(table_name, column_name) }
|
90
96
|
end
|
91
97
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'active_record/connection_adapters/abstract_mysql_adapter'
|
2
2
|
require 'active_record/connection_adapters/statement_pool'
|
3
3
|
require 'active_record/connection_adapters/mysql2_adapter'
|
4
|
+
require 'active_support/core_ext/string/filters'
|
4
5
|
require 'departure'
|
5
6
|
require 'forwardable'
|
6
7
|
|
@@ -69,7 +70,7 @@ module ActiveRecord
|
|
69
70
|
|
70
71
|
ADAPTER_NAME = 'Percona'.freeze
|
71
72
|
|
72
|
-
def_delegators :mysql_adapter, :
|
73
|
+
def_delegators :mysql_adapter, :each_hash, :set_field_encoding
|
73
74
|
|
74
75
|
def initialize(connection, _logger, connection_options, _config)
|
75
76
|
@mysql_adapter = connection_options[:mysql_adapter]
|
@@ -93,9 +94,10 @@ module ActiveRecord
|
|
93
94
|
execute(to_sql(sql, binds), name)
|
94
95
|
end
|
95
96
|
|
96
|
-
def exec_query(sql, name = 'SQL', _binds = [])
|
97
|
+
def exec_query(sql, name = 'SQL', _binds = [], **_kwargs)
|
97
98
|
result = execute(sql, name)
|
98
|
-
|
99
|
+
fields = result.fields if defined?(result.fields)
|
100
|
+
ActiveRecord::Result.new(fields, result.to_a)
|
99
101
|
end
|
100
102
|
|
101
103
|
# Executes a SELECT query and returns an array of rows. Each row is an
|
@@ -107,8 +109,8 @@ module ActiveRecord
|
|
107
109
|
|
108
110
|
# Executes a SELECT query and returns an array of record hashes with the
|
109
111
|
# column names as keys and column values as values.
|
110
|
-
def select(sql, name = nil, binds = [])
|
111
|
-
exec_query(sql, name, binds)
|
112
|
+
def select(sql, name = nil, binds = [], **kwargs)
|
113
|
+
exec_query(sql, name, binds, **kwargs)
|
112
114
|
end
|
113
115
|
|
114
116
|
# Returns true, as this adapter supports migrations
|
@@ -129,12 +131,18 @@ module ActiveRecord
|
|
129
131
|
# @param options [Hash] optional
|
130
132
|
def add_index(table_name, column_name, options = {})
|
131
133
|
if ActiveRecord::VERSION::STRING >= '6.1'
|
132
|
-
|
133
|
-
|
134
|
-
|
134
|
+
index_definition, = add_index_options(table_name, column_name, **options)
|
135
|
+
execute <<-SQL.squish
|
136
|
+
ALTER TABLE #{quote_table_name(index_definition.table)}
|
137
|
+
ADD #{schema_creation.accept(index_definition)}
|
138
|
+
SQL
|
135
139
|
else
|
136
|
-
index_name, index_type, index_columns, index_options = add_index_options(table_name, column_name, options)
|
137
|
-
execute
|
140
|
+
index_name, index_type, index_columns, index_options = add_index_options(table_name, column_name, **options)
|
141
|
+
execute <<-SQL.squish
|
142
|
+
ALTER TABLE #{quote_table_name(table_name)}
|
143
|
+
ADD #{index_type} INDEX
|
144
|
+
#{quote_column_name(index_name)} (#{index_columns})#{index_options}
|
145
|
+
SQL
|
138
146
|
end
|
139
147
|
end
|
140
148
|
|
@@ -142,14 +150,14 @@ module ActiveRecord
|
|
142
150
|
#
|
143
151
|
# @param table_name [String, Symbol]
|
144
152
|
# @param options [Hash] optional
|
145
|
-
def remove_index(table_name,
|
146
|
-
|
147
|
-
if column_name
|
153
|
+
def remove_index(table_name, column_name = nil, **options)
|
154
|
+
if ActiveRecord::VERSION::STRING >= '6.1'
|
148
155
|
return if options[:if_exists] && !index_exists?(table_name, column_name, **options)
|
149
|
-
index_name = index_name_for_remove(table_name, column_name,
|
156
|
+
index_name = index_name_for_remove(table_name, column_name, options)
|
150
157
|
else
|
151
158
|
index_name = index_name_for_remove(table_name, options)
|
152
159
|
end
|
160
|
+
|
153
161
|
execute "ALTER TABLE #{quote_table_name(table_name)} DROP INDEX #{quote_column_name(index_name)}"
|
154
162
|
end
|
155
163
|
|
@@ -181,6 +189,10 @@ module ActiveRecord
|
|
181
189
|
mysql_adapter.raw_connection.server_info[:version]
|
182
190
|
end
|
183
191
|
|
192
|
+
def last_inserted_id(result)
|
193
|
+
mysql_adapter.send(:last_inserted_id, result)
|
194
|
+
end
|
195
|
+
|
184
196
|
private
|
185
197
|
|
186
198
|
attr_reader :mysql_adapter
|
data/lib/departure/command.rb
CHANGED
@@ -8,10 +8,11 @@ module Departure
|
|
8
8
|
# @param command_line [String]
|
9
9
|
# @param error_log_path [String]
|
10
10
|
# @param logger [#write_no_newline]
|
11
|
-
def initialize(command_line, error_log_path, logger)
|
11
|
+
def initialize(command_line, error_log_path, logger, redirect_stderr)
|
12
12
|
@command_line = command_line
|
13
13
|
@error_log_path = error_log_path
|
14
14
|
@logger = logger
|
15
|
+
@redirect_stderr = redirect_stderr
|
15
16
|
end
|
16
17
|
|
17
18
|
# Executes the command returning its status. It also prints its stdout to
|
@@ -35,7 +36,7 @@ module Departure
|
|
35
36
|
|
36
37
|
private
|
37
38
|
|
38
|
-
attr_reader :command_line, :error_log_path, :logger, :status
|
39
|
+
attr_reader :command_line, :error_log_path, :logger, :status, :redirect_stderr
|
39
40
|
|
40
41
|
# Runs the command in a separate process, capturing its stdout and
|
41
42
|
# execution status
|
@@ -56,11 +57,15 @@ module Departure
|
|
56
57
|
end
|
57
58
|
|
58
59
|
# Builds the actual command including stderr redirection to the specified
|
59
|
-
# log file
|
60
|
+
# log file or stdout
|
60
61
|
#
|
61
62
|
# @return [String]
|
62
63
|
def full_command
|
63
|
-
|
64
|
+
if redirect_stderr
|
65
|
+
"#{command_line} 2> #{error_log_path}"
|
66
|
+
else
|
67
|
+
"#{command_line} 2>&1"
|
68
|
+
end
|
64
69
|
end
|
65
70
|
|
66
71
|
# Validates the status of the execution
|
@@ -1,12 +1,13 @@
|
|
1
1
|
module Departure
|
2
2
|
class Configuration
|
3
|
-
attr_accessor :tmp_path, :global_percona_args, :enabled_by_default
|
3
|
+
attr_accessor :tmp_path, :global_percona_args, :enabled_by_default, :redirect_stderr
|
4
4
|
|
5
5
|
def initialize
|
6
6
|
@tmp_path = '.'.freeze
|
7
7
|
@error_log_filename = 'departure_error.log'.freeze
|
8
8
|
@global_percona_args = nil
|
9
9
|
@enabled_by_default = true
|
10
|
+
@redirect_stderr = true
|
10
11
|
end
|
11
12
|
|
12
13
|
def error_log_path
|
data/lib/departure/migration.rb
CHANGED
@@ -81,7 +81,7 @@ module Departure
|
|
81
81
|
# enabled in a previous migration.
|
82
82
|
def reconnect_without_percona
|
83
83
|
return unless connection_config[:adapter] == 'percona'
|
84
|
-
Departure::
|
84
|
+
Departure::OriginalAdapterConnection.establish_connection(connection_config.merge(adapter: original_adapter))
|
85
85
|
end
|
86
86
|
|
87
87
|
private
|
data/lib/departure/runner.rb
CHANGED
@@ -15,6 +15,7 @@ module Departure
|
|
15
15
|
@cli_generator = cli_generator
|
16
16
|
@mysql_adapter = mysql_adapter
|
17
17
|
@error_log_path = config.error_log_path
|
18
|
+
@redirect_stderr = config.redirect_stderr
|
18
19
|
end
|
19
20
|
|
20
21
|
# Executes the passed sql statement using pt-online-schema-change for ALTER
|
@@ -44,12 +45,12 @@ module Departure
|
|
44
45
|
# @param command_line [String]
|
45
46
|
# @return [Boolean]
|
46
47
|
def execute(command_line)
|
47
|
-
Command.new(command_line, error_log_path, logger).run
|
48
|
+
Command.new(command_line, error_log_path, logger, redirect_stderr).run
|
48
49
|
end
|
49
50
|
|
50
51
|
private
|
51
52
|
|
52
|
-
attr_reader :logger, :cli_generator, :mysql_adapter, :error_log_path
|
53
|
+
attr_reader :logger, :cli_generator, :mysql_adapter, :error_log_path, :redirect_stderr
|
53
54
|
|
54
55
|
# Checks whether the sql statement is an ALTER TABLE
|
55
56
|
#
|
data/lib/departure/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: departure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Zayats
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date:
|
18
|
+
date: 2022-08-04 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: railties
|
@@ -24,9 +24,12 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 5.2.0
|
27
|
-
- - "
|
27
|
+
- - "!="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 7.0.0
|
30
|
+
- - "<"
|
28
31
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
32
|
+
version: '7.1'
|
30
33
|
type: :runtime
|
31
34
|
prerelease: false
|
32
35
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -34,9 +37,12 @@ dependencies:
|
|
34
37
|
- - ">="
|
35
38
|
- !ruby/object:Gem::Version
|
36
39
|
version: 5.2.0
|
37
|
-
- - "
|
40
|
+
- - "!="
|
38
41
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
42
|
+
version: 7.0.0
|
43
|
+
- - "<"
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '7.1'
|
40
46
|
- !ruby/object:Gem::Dependency
|
41
47
|
name: activerecord
|
42
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,9 +50,12 @@ dependencies:
|
|
44
50
|
- - ">="
|
45
51
|
- !ruby/object:Gem::Version
|
46
52
|
version: 5.2.0
|
47
|
-
- - "
|
53
|
+
- - "!="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 7.0.0
|
56
|
+
- - "<"
|
48
57
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
58
|
+
version: '7.1'
|
50
59
|
type: :runtime
|
51
60
|
prerelease: false
|
52
61
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -54,9 +63,12 @@ dependencies:
|
|
54
63
|
- - ">="
|
55
64
|
- !ruby/object:Gem::Version
|
56
65
|
version: 5.2.0
|
57
|
-
- - "
|
66
|
+
- - "!="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 7.0.0
|
69
|
+
- - "<"
|
58
70
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
71
|
+
version: '7.1'
|
60
72
|
- !ruby/object:Gem::Dependency
|
61
73
|
name: mysql2
|
62
74
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +78,7 @@ dependencies:
|
|
66
78
|
version: 0.4.0
|
67
79
|
- - "<="
|
68
80
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.5.
|
81
|
+
version: 0.5.4
|
70
82
|
type: :runtime
|
71
83
|
prerelease: false
|
72
84
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -76,19 +88,19 @@ dependencies:
|
|
76
88
|
version: 0.4.0
|
77
89
|
- - "<="
|
78
90
|
- !ruby/object:Gem::Version
|
79
|
-
version: 0.5.
|
91
|
+
version: 0.5.4
|
80
92
|
- !ruby/object:Gem::Dependency
|
81
93
|
name: rake
|
82
94
|
requirement: !ruby/object:Gem::Requirement
|
83
95
|
requirements:
|
84
|
-
- - "
|
96
|
+
- - ">="
|
85
97
|
- !ruby/object:Gem::Version
|
86
98
|
version: '10.0'
|
87
99
|
type: :development
|
88
100
|
prerelease: false
|
89
101
|
version_requirements: !ruby/object:Gem::Requirement
|
90
102
|
requirements:
|
91
|
-
- - "
|
103
|
+
- - ">="
|
92
104
|
- !ruby/object:Gem::Version
|
93
105
|
version: '10.0'
|
94
106
|
- !ruby/object:Gem::Dependency
|
@@ -168,11 +180,11 @@ extensions: []
|
|
168
180
|
extra_rdoc_files: []
|
169
181
|
files:
|
170
182
|
- ".codeclimate.yml"
|
183
|
+
- ".github/workflows/test.yml"
|
171
184
|
- ".gitignore"
|
172
185
|
- ".pryrc"
|
173
186
|
- ".rspec"
|
174
187
|
- ".rubocop.yml"
|
175
|
-
- ".travis.yml"
|
176
188
|
- CHANGELOG.md
|
177
189
|
- CODE_OF_CONDUCT.md
|
178
190
|
- Dockerfile
|
@@ -233,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
245
|
- !ruby/object:Gem::Version
|
234
246
|
version: '0'
|
235
247
|
requirements: []
|
236
|
-
rubygems_version: 3.
|
248
|
+
rubygems_version: 3.3.7
|
237
249
|
signing_key:
|
238
250
|
specification_version: 4
|
239
251
|
summary: pt-online-schema-change runner for ActiveRecord migrations
|
data/.travis.yml
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
rvm:
|
4
|
-
- 2.5.5
|
5
|
-
- 2.6.3
|
6
|
-
- 2.7.0
|
7
|
-
|
8
|
-
env:
|
9
|
-
- RAILS_VERSION="~> 6.1.0"
|
10
|
-
- RAILS_VERSION="~> 6.0.0"
|
11
|
-
- RAILS_VERSION="~> 5.2.0"
|
12
|
-
|
13
|
-
jobs:
|
14
|
-
include:
|
15
|
-
- rvm: 2.4.6
|
16
|
-
env: RAILS_VERSION="~> 5.2.0"
|
17
|
-
|
18
|
-
services:
|
19
|
-
- mysql
|
20
|
-
|
21
|
-
before_install:
|
22
|
-
- travis_retry sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 8507EFA5
|
23
|
-
- echo "deb http://repo.percona.com/apt `lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list
|
24
|
-
- sudo apt-get update -qq
|
25
|
-
- sudo apt-get install percona-toolkit
|
26
|
-
- gem update bundler
|
27
|
-
|
28
|
-
install: bin/setup
|
29
|
-
|
30
|
-
after_success:
|
31
|
-
- codeclimate-test-reporter
|