ridgepole 0.7.5 → 0.7.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea23dd30570f2a2ffdf62e4f8ed6f6ed8c67e304928da70741efd9472a81c9f2
4
- data.tar.gz: 26fd4bac4550c955931f7aacf4574fecba444950104aacd12300ce81df7cac42
3
+ metadata.gz: 2271671a770bf65b2503ba193108875f5892f697e37853097a0eb105024276c4
4
+ data.tar.gz: fb6b7f6eb304dabff71858c5029cfe92ce565c7e28612be4319b53bca669c706
5
5
  SHA512:
6
- metadata.gz: af208c1fc27a0dda85a5ba67bc884726cdca4db42dc67a2a477446af9d1881311935908e207cabf0c9672021e4518fb54e1b8edc177d0cc9da8d05cc5f5394a9
7
- data.tar.gz: 8d350aa7af72210307606aed1092294855df1a4cd03a64dc2be59d898ecf5fc6b2e13e6b0784e4373f89182fa9d4b30690eb7a523ba2d229845193b856739117
6
+ metadata.gz: 1f46efedeb45729023425090ee220c2c18ffd447ef34450d17b7f70b5c374cdaf830a9996034d1104be0f5cb8ac14aaf943edc8e0d1a936c8e9ac62fb28222b8
7
+ data.tar.gz: d4c338561c39f60407db3e82984f021aefe40b728bd168de046e4cd56020dfa95a97ef0a2a9d3949c2fc6cb6d2af03e10dd41b97e291b9c6e1dc397e10db9051
data/.travis.yml CHANGED
@@ -6,13 +6,10 @@ cache:
6
6
  - bundler
7
7
  - apt
8
8
  rvm:
9
- - 2.3.6
9
+ - 2.3.8
10
10
  - 2.4.5
11
11
  - 2.5.3
12
- - 2.6.0-preview2
13
- matrix:
14
- allow_failures:
15
- - rvm: 2.6.0-preview2
12
+ - 2.6.0
16
13
  before_script:
17
14
  - sudo service mysql stop
18
15
  - sudo service postgresql stop
data/README.md CHANGED
@@ -94,6 +94,9 @@ It defines DB schema using [Rails DSL](http://guides.rubyonrails.org/migrations.
94
94
  * Fix polymorphic options ([pull#263](https://github.com/winebarrel/ridgepole/pull/263))
95
95
  * Fix `--mysql-use-alter` option ([pull#246](https://github.com/winebarrel/ridgepole/pull/264))
96
96
  * Fix Database URI parsing ([pull#265](https://github.com/winebarrel/ridgepole/pull/265))
97
+ * `>= 0.7.6`
98
+ * Fix database url check ([pull#266](https://github.com/winebarrel/ridgepole/pull/266))
99
+ * Add ignore option ([pull#267](https://github.com/winebarrel/ridgepole/pull/267))
97
100
  </details>
98
101
 
99
102
  ## Installation
@@ -274,6 +277,18 @@ add_index "child", ["parent_id"], name: "par_ind", using: :btree
274
277
  add_foreign_key "child", "parent", name: "child_ibfk_1"
275
278
  ```
276
279
 
280
+ ## Ignore Column/Index/FK
281
+
282
+ ```ruby
283
+ create_table "articles", force: :cascade do |t|
284
+ t.string "title", ignore: true # All changes are ignored
285
+ t.text "desc", renamed_from: "text"
286
+ t.text "author"
287
+ t.datetime "created_at"
288
+ t.datetime "updated_at"
289
+ end
290
+ ```
291
+
277
292
  ## Collation/Charset
278
293
  You can use the column collation by passing `--enable-mysql-awesome` ([activerecord-mysql-awesome](https://github.com/kamipo/activerecord-mysql-awesome) is required)
279
294
 
@@ -397,7 +412,7 @@ Apply `Schemafile`
397
412
  ...
398
413
  ```
399
414
 
400
- ## Running tests
415
+ ## Run tests
401
416
 
402
417
  ```sh
403
418
  docker-compose up -d
@@ -51,12 +51,19 @@ module Ridgepole
51
51
  def parse_database_url(config)
52
52
  uri = URI.parse(config)
53
53
 
54
- raise "Invalid config: #{config.inspect}" if [uri.scheme, uri.user, uri.host, uri.path].any? { |i| i.nil? || i.empty? }
54
+ %w[scheme user host path].each do |key|
55
+ value = uri.send(key)
56
+
57
+ if value.nil? || value.empty?
58
+ key = 'database' if key == 'path'
59
+ raise "Invalid config: '#{key}' is empty: #{config.inspect}"
60
+ end
61
+ end
55
62
 
56
63
  {
57
64
  'adapter' => uri.scheme,
58
65
  'username' => CGI.unescape(uri.user),
59
- 'password' => CGI.unescape(uri.password),
66
+ 'password' => uri.password ? CGI.unescape(uri.password) : nil,
60
67
  'host' => uri.host,
61
68
  'port' => uri.port,
62
69
  'database' => CGI.unescape(uri.path.sub(%r{\A/}, '')),
@@ -227,6 +227,9 @@ create_table(#{table_name.inspect}, #{inspect_options_include_default_proc(optio
227
227
  definition.each do |column_name, column_attrs|
228
228
  column_type = column_attrs.fetch(:type)
229
229
  column_options = column_attrs[:options] || {}
230
+ ignore_column = column_options[:ignore]
231
+ next if ignore_column
232
+
230
233
  normalize_limit(column_type, column_options)
231
234
 
232
235
  buf.puts(<<-RUBY)
@@ -419,6 +422,8 @@ remove_column(#{table_name.inspect}, #{column_name.inspect})
419
422
  def append_add_index(table_name, _index_name, attrs, buf, force_bulk_change = false)
420
423
  column_name = attrs.fetch(:column_name)
421
424
  options = attrs[:options] || {}
425
+ ignore_index = options[:ignore]
426
+ return if ignore_index
422
427
 
423
428
  if force_bulk_change || @options[:bulk_change]
424
429
  buf.puts(<<-RUBY)
@@ -210,7 +210,11 @@ module Ridgepole
210
210
  end
211
211
 
212
212
  to.each do |column_name, to_attrs|
213
- if (from_attrs = from.delete(column_name))
213
+ ignore_column = to_attrs.fetch(:options, {}).delete(:ignore)
214
+ from_attrs = from.delete(column_name)
215
+ next if ignore_column
216
+
217
+ if from_attrs
214
218
  to_attrs = build_attrs_if_changed(to_attrs, from_attrs, table_name)
215
219
  if to_attrs
216
220
  definition_delta[:change] ||= {}
@@ -296,6 +300,8 @@ module Ridgepole
296
300
  indices_delta = {}
297
301
 
298
302
  to.each do |index_name, to_attrs|
303
+ ignore_index = to_attrs.fetch(:options, {}).delete(:ignore)
304
+
299
305
  if index_name.is_a?(Array)
300
306
  from_index_name, from_attrs = from.find { |_name, attrs| attrs[:column_name] == index_name }
301
307
 
@@ -307,6 +313,8 @@ module Ridgepole
307
313
  from_attrs = from.delete(index_name)
308
314
  end
309
315
 
316
+ next if ignore_index
317
+
310
318
  if from_attrs
311
319
  normalize_index_options!(from_attrs[:options])
312
320
  normalize_index_options!(to_attrs[:options])
@@ -391,7 +399,9 @@ module Ridgepole
391
399
  foreign_keys_delta = {}
392
400
 
393
401
  to.each do |foreign_key_name_or_tables, to_attrs|
402
+ ignore_fk = to_attrs.fetch(:options, {}).delete(:ignore)
394
403
  from_attrs = from.delete(foreign_key_name_or_tables)
404
+ next if ignore_fk
395
405
 
396
406
  if from_attrs
397
407
  if from_attrs != to_attrs
@@ -1,3 +1,3 @@
1
1
  module Ridgepole
2
- VERSION = '0.7.5'.freeze
2
+ VERSION = '0.7.6'.freeze
3
3
  end
@@ -24,7 +24,7 @@ namespace :docker do
24
24
  end
25
25
 
26
26
  namespace :omnibus do
27
- task build: ['build:ubuntu', 'build:centos']
27
+ task build: ['docker:image:build', 'build:ubuntu', 'build:centos']
28
28
 
29
29
  namespace :build do
30
30
  task :ubuntu do
@@ -104,7 +104,7 @@ describe Ridgepole::Config do
104
104
  specify do
105
105
  expect do
106
106
  subject
107
- end.to raise_error 'Invalid config: "database.yml"'
107
+ end.to raise_error %(Invalid config: 'scheme' is empty: "database.yml")
108
108
  end
109
109
  end
110
110
 
@@ -0,0 +1,68 @@
1
+ describe 'Ridgepole::Client#diff -> migrate' do
2
+ context 'when create fk with ignore:true' do
3
+ let(:actual_dsl) do
4
+ erbh(<<-ERB)
5
+ create_table "child", force: :cascade do |t|
6
+ t.integer "parent_id"
7
+ t.index ["parent_id"], name: "par_id", <%= i cond(5.0, using: :btree) %>
8
+ end
9
+
10
+ create_table "parent", <%= i cond('>= 5.1',id: :integer) %>, force: :cascade do |t|
11
+ end
12
+ ERB
13
+ end
14
+
15
+ let(:expected_dsl) do
16
+ erbh(actual_dsl + <<-ERB)
17
+ add_foreign_key "child", "parent", name: "child_ibfk_1", ignore: true
18
+ ERB
19
+ end
20
+
21
+ before { subject.diff(actual_dsl).migrate }
22
+ subject { client }
23
+
24
+ it {
25
+ delta = subject.diff(expected_dsl)
26
+ expect(delta.differ?).to be_falsey
27
+ }
28
+ end
29
+
30
+ context 'when change fk with ignore:true' do
31
+ let(:actual_dsl) do
32
+ erbh(<<-ERB)
33
+ create_table "parent", <%= i cond('>= 5.1',id: :integer) %>, force: :cascade do |t|
34
+ end
35
+
36
+ create_table "child", force: :cascade do |t|
37
+ t.integer "parent_id"
38
+ t.index ["parent_id"], name: "par_id", <%= i cond(5.0, using: :btree) %>
39
+ end
40
+
41
+ add_foreign_key "child", "parent", name: "child_ibfk_1", on_delete: :cascade
42
+ ERB
43
+ end
44
+
45
+ let(:expected_dsl) do
46
+ erbh(<<-ERB)
47
+ create_table "child", force: :cascade do |t|
48
+ t.integer "parent_id"
49
+ t.index ["parent_id"], name: "par_id", <%= i cond(5.0, using: :btree) %>
50
+ end
51
+
52
+ create_table "parent", <%= i cond('>= 5.1',id: :integer) %>, force: :cascade do |t|
53
+ end
54
+
55
+ add_foreign_key "child", "parent", name: "child_ibfk_1", ignore: true
56
+ ERB
57
+ end
58
+
59
+ before { subject.diff(actual_dsl).migrate }
60
+
61
+ subject { client }
62
+
63
+ it {
64
+ delta = subject.diff(expected_dsl)
65
+ expect(delta.differ?).to be_falsey
66
+ }
67
+ end
68
+ end
@@ -0,0 +1,43 @@
1
+ describe 'Ridgepole::Client#diff -> migrate' do
2
+ context 'when create table with ignore:true' do
3
+ let(:dsl) do
4
+ erbh(<<-ERB)
5
+ create_table "departments", primary_key: "dept_no", force: :cascade do |t|
6
+ t.string "dept_name", limit: 40, null: false
7
+ t.index ["dept_name"], name: "dept_name", unique: true, <%= i cond(5.0, using: :btree) %>
8
+ end
9
+
10
+ create_table "dept_emp", primary_key: ["emp_no", "dept_no"], force: :cascade do |t|
11
+ t.integer "emp_no", null: false
12
+ t.string "dept_no", null: false
13
+ t.date "from_date", null: false, ignore: true
14
+ t.date "to_date", null: false
15
+ t.index ["dept_no"], name: "dept_no", <%= i cond(5.0, using: :btree) %>, ignore: true
16
+ t.index ["emp_no"], name: "emp_no", <%= i cond(5.0, using: :btree) %>
17
+ end
18
+ ERB
19
+ end
20
+
21
+ let(:actual_dsl) do
22
+ erbh(<<-ERB)
23
+ create_table "departments", primary_key: "dept_no", force: :cascade do |t|
24
+ t.string "dept_name", limit: 40, null: false
25
+ t.index ["dept_name"], name: "dept_name", unique: true, <%= i cond(5.0, using: :btree) %>
26
+ end
27
+ ERB
28
+ end
29
+
30
+ let(:expected_dsl) { dsl.each_line.reject { |l| l =~ /ignore/ }.join }
31
+
32
+ before { subject.diff(actual_dsl).migrate }
33
+ subject { client }
34
+
35
+ it {
36
+ delta = subject.diff(expected_dsl)
37
+ expect(delta.differ?).to be_truthy
38
+ expect(subject.dump).to match_ruby actual_dsl
39
+ delta.migrate
40
+ expect(subject.dump).to match_ruby expected_dsl
41
+ }
42
+ end
43
+ end
@@ -0,0 +1,96 @@
1
+ describe 'Ridgepole::Client#diff -> migrate' do
2
+ context 'when add column with ignore:true' do
3
+ let(:actual_dsl) do
4
+ erbh(<<-ERB)
5
+ create_table "employee_clubs", force: :cascade do |t|
6
+ t.integer "emp_no", null: false
7
+ t.integer "club_id", null: false
8
+ t.index ["emp_no", "club_id"], name: "idx_emp_no_club_id", <%= i cond(5.0, using: :btree) %>
9
+ end
10
+
11
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
12
+ t.date "birth_date", null: false
13
+ t.string "first_name", limit: 14, null: false
14
+ t.string "last_name", limit: 16, null: false
15
+ t.string "gender", limit: 1, null: false
16
+ t.date "hire_date", null: false
17
+ end
18
+ ERB
19
+ end
20
+
21
+ let(:expected_dsl) do
22
+ erbh(<<-ERB)
23
+ create_table "employee_clubs", force: :cascade do |t|
24
+ t.integer "emp_no", null: false
25
+ t.integer "club_id", null: false
26
+ t.string "any_col", null: false, ignore: true
27
+ t.index ["emp_no", "club_id"], name: "idx_emp_no_club_id", <%= i cond(5.0, using: :btree) %>
28
+ end
29
+
30
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
31
+ t.date "birth_date", null: false
32
+ t.string "first_name", limit: 14, null: false
33
+ t.string "last_name", limit: 16, null: false
34
+ t.string "gender", limit: 1, null: false
35
+ t.date "hire_date", null: false
36
+ t.integer "age", null: false, ignore: true
37
+ t.date "updated_at", ignore: true
38
+ end
39
+ ERB
40
+ end
41
+
42
+ before { subject.diff(actual_dsl).migrate }
43
+ subject { client }
44
+
45
+ it {
46
+ delta = subject.diff(expected_dsl)
47
+ expect(delta.differ?).to be_falsey
48
+ }
49
+ end
50
+
51
+ context 'when change column with ignore:true' do
52
+ let(:actual_dsl) do
53
+ erbh(<<-ERB)
54
+ create_table "employee_clubs", force: :cascade do |t|
55
+ t.integer "emp_no", null: false
56
+ t.integer "club_id", null: false
57
+ t.index ["emp_no", "club_id"], name: "idx_emp_no_club_id", <%= i cond(5.0, using: :btree) %>
58
+ end
59
+
60
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
61
+ t.date "birth_date", null: false
62
+ t.string "first_name", limit: 14, null: false
63
+ t.string "last_name", limit: 16, null: false
64
+ t.string "gender", limit: 1, null: false
65
+ t.date "hire_date", null: false
66
+ end
67
+ ERB
68
+ end
69
+
70
+ let(:expected_dsl) do
71
+ erbh(<<-ERB)
72
+ create_table "employee_clubs", force: :cascade do |t|
73
+ t.integer "emp_no", null: false
74
+ t.integer "club_id", ignore: true
75
+ t.index ["emp_no", "club_id"], name: "idx_emp_no_club_id", <%= i cond(5.0, using: :btree) %>
76
+ end
77
+
78
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
79
+ t.date "birth_date", null: false
80
+ t.string "first_name", limit: 14, null: false
81
+ t.string "last_name", limit: 20, default: "XXX", null: false, ignore: true
82
+ t.string "gender", limit: 2, null: false, ignore: true
83
+ t.date "hire_date", null: false
84
+ end
85
+ ERB
86
+ end
87
+
88
+ before { subject.diff(actual_dsl).migrate }
89
+ subject { client }
90
+
91
+ it {
92
+ delta = subject.diff(expected_dsl)
93
+ expect(delta.differ?).to be_falsey
94
+ }
95
+ end
96
+ end
@@ -0,0 +1,90 @@
1
+ describe 'Ridgepole::Client#diff -> migrate' do
2
+ context 'when create index with ignore:true' do
3
+ let(:dsl) do
4
+ erbh(<<-ERB)
5
+ create_table "clubs", force: :cascade do |t|
6
+ t.string "name", default: "", null: false
7
+ t.index ["name"], name: "idx_name", unique: true, <%= i cond(5.0, using: :btree) %>, ignore: true
8
+ end
9
+
10
+ create_table "employee_clubs", force: :cascade do |t|
11
+ t.integer "emp_no", null: false
12
+ t.integer "club_id", null: false
13
+ t.index ["emp_no", "club_id"], name: "idx_emp_no_club_id", <%= i cond(5.0, using: :btree) %>, ignore: true
14
+ end
15
+
16
+ create_table "titles", id: false, force: :cascade do |t|
17
+ t.integer "emp_no", null: false
18
+ t.string "title", limit: 50, null: false
19
+ t.date "from_date", null: false
20
+ t.date "to_date"
21
+ t.index ["emp_no"], name: "emp_no", <%= i cond(5.0, using: :btree) %>, ignore: true
22
+ end
23
+ ERB
24
+ end
25
+
26
+ let(:actual_dsl) do
27
+ erbh(<<-ERB)
28
+ create_table "clubs", force: :cascade do |t|
29
+ t.string "name", default: "", null: false
30
+ end
31
+
32
+ create_table "employee_clubs", force: :cascade do |t|
33
+ t.integer "emp_no", null: false
34
+ t.integer "club_id", null: false
35
+ end
36
+
37
+ create_table "titles", id: false, force: :cascade do |t|
38
+ t.integer "emp_no", null: false
39
+ t.string "title", limit: 50, null: false
40
+ t.date "from_date", null: false
41
+ t.date "to_date"
42
+ end
43
+ ERB
44
+ end
45
+
46
+ let(:expected_dsl) { dsl }
47
+
48
+ before { subject.diff(actual_dsl).migrate }
49
+ subject { client }
50
+
51
+ it {
52
+ delta = subject.diff(expected_dsl)
53
+ expect(delta.differ?).to be_falsey
54
+ }
55
+ end
56
+
57
+ context 'when change index with ignore:true' do
58
+ let(:actual_dsl) do
59
+ erbh(<<-ERB)
60
+ create_table "salaries", id: false, force: :cascade do |t|
61
+ t.integer "emp_no", null: false
62
+ t.integer "salary", null: false
63
+ t.date "from_date", null: false
64
+ t.date "to_date", null: false
65
+ t.index ["emp_no"], name: "emp_no", <%= i cond(5.0, using: :btree) %>
66
+ end
67
+ ERB
68
+ end
69
+
70
+ let(:expected_dsl) do
71
+ erbh(<<-ERB)
72
+ create_table "salaries", id: false, force: :cascade do |t|
73
+ t.integer "emp_no", null: false
74
+ t.integer "salary", null: false
75
+ t.date "from_date", null: false
76
+ t.date "to_date", null: false
77
+ t.index ["from_date"], name: "emp_no", <%= i cond(5.0, using: :btree) %>, ignore: true
78
+ end
79
+ ERB
80
+ end
81
+
82
+ before { subject.diff(actual_dsl).migrate }
83
+ subject { client }
84
+
85
+ it {
86
+ delta = subject.diff(expected_dsl)
87
+ expect(delta.differ?).to be_falsey
88
+ }
89
+ end
90
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-05 00:00:00.000000000 Z
11
+ date: 2019-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -306,6 +306,7 @@ files:
306
306
  - spec/mysql/fk/migrate_change_fk_spec.rb
307
307
  - spec/mysql/fk/migrate_create_fk_spec.rb
308
308
  - spec/mysql/fk/migrate_drop_fk_spec.rb
309
+ - spec/mysql/fk/migrate_ignore_fk_spec.rb
309
310
  - spec/mysql/migrate/check_orphan_index_spec.rb
310
311
  - spec/mysql/migrate/migrate_add_column2_spec.rb
311
312
  - spec/mysql/migrate/migrate_add_column_order_spec.rb
@@ -336,6 +337,7 @@ files:
336
337
  - spec/mysql/migrate/migrate_create_index2_spec.rb
337
338
  - spec/mysql/migrate/migrate_create_index_spec.rb
338
339
  - spec/mysql/migrate/migrate_create_table_spec.rb
340
+ - spec/mysql/migrate/migrate_create_table_with_ignore_spec.rb
339
341
  - spec/mysql/migrate/migrate_create_table_with_index_spec.rb
340
342
  - spec/mysql/migrate/migrate_create_table_with_options_spec.rb
341
343
  - spec/mysql/migrate/migrate_create_table_with_script_spec.rb
@@ -349,6 +351,8 @@ files:
349
351
  - spec/mysql/migrate/migrate_duplicate_table_spec.rb
350
352
  - spec/mysql/migrate/migrate_empty_spec.rb
351
353
  - spec/mysql/migrate/migrate_execute_spec.rb
354
+ - spec/mysql/migrate/migrate_ignore_column_spec.rb
355
+ - spec/mysql/migrate/migrate_ignore_index_spec.rb
352
356
  - spec/mysql/migrate/migrate_log_file_spec.rb
353
357
  - spec/mysql/migrate/migrate_merge_mode_spec.rb
354
358
  - spec/mysql/migrate/migrate_noop_spec.rb
@@ -464,6 +468,7 @@ test_files:
464
468
  - spec/mysql/fk/migrate_change_fk_spec.rb
465
469
  - spec/mysql/fk/migrate_create_fk_spec.rb
466
470
  - spec/mysql/fk/migrate_drop_fk_spec.rb
471
+ - spec/mysql/fk/migrate_ignore_fk_spec.rb
467
472
  - spec/mysql/migrate/check_orphan_index_spec.rb
468
473
  - spec/mysql/migrate/migrate_add_column2_spec.rb
469
474
  - spec/mysql/migrate/migrate_add_column_order_spec.rb
@@ -494,6 +499,7 @@ test_files:
494
499
  - spec/mysql/migrate/migrate_create_index2_spec.rb
495
500
  - spec/mysql/migrate/migrate_create_index_spec.rb
496
501
  - spec/mysql/migrate/migrate_create_table_spec.rb
502
+ - spec/mysql/migrate/migrate_create_table_with_ignore_spec.rb
497
503
  - spec/mysql/migrate/migrate_create_table_with_index_spec.rb
498
504
  - spec/mysql/migrate/migrate_create_table_with_options_spec.rb
499
505
  - spec/mysql/migrate/migrate_create_table_with_script_spec.rb
@@ -507,6 +513,8 @@ test_files:
507
513
  - spec/mysql/migrate/migrate_duplicate_table_spec.rb
508
514
  - spec/mysql/migrate/migrate_empty_spec.rb
509
515
  - spec/mysql/migrate/migrate_execute_spec.rb
516
+ - spec/mysql/migrate/migrate_ignore_column_spec.rb
517
+ - spec/mysql/migrate/migrate_ignore_index_spec.rb
510
518
  - spec/mysql/migrate/migrate_log_file_spec.rb
511
519
  - spec/mysql/migrate/migrate_merge_mode_spec.rb
512
520
  - spec/mysql/migrate/migrate_noop_spec.rb