departure 6.3.0 → 6.4.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 +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
|
+
  
|
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
|