ridgepole 0.6.4 → 0.6.5.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +18 -8
  4. data/Appraisals +8 -0
  5. data/README.md +26 -2
  6. data/docker-compose.yml +12 -0
  7. data/gemfiles/activerecord_4.2.gemfile +8 -0
  8. data/gemfiles/activerecord_5.0.gemfile +7 -0
  9. data/lib/ridgepole/diff.rb +3 -1
  10. data/lib/ridgepole/version.rb +1 -1
  11. data/ridgepole.gemspec +6 -2
  12. data/spec/cli_helper.rb +63 -0
  13. data/spec/mysql/bigint_pk/bigint_pk_spec.rb +45 -0
  14. data/spec/mysql/cli/config_spec.rb +0 -2
  15. data/spec/mysql/cli/ridgepole_spec.rb +58 -56
  16. data/spec/mysql/collation/collation_spec.rb +134 -138
  17. data/spec/mysql/diff/diff2_spec.rb +1 -3
  18. data/spec/mysql/diff/diff_spec.rb +1 -3
  19. data/spec/mysql/dump/dump_class_method_spec.rb +29 -11
  20. data/spec/mysql/dump/dump_some_tables_spec.rb +18 -8
  21. data/spec/mysql/dump/dump_spec.rb +28 -10
  22. data/spec/mysql/dump/dump_without_table_options_spec.rb +29 -33
  23. data/spec/mysql/fk/migrate_change_fk_spec.rb +2 -4
  24. data/spec/mysql/fk/migrate_create_fk_spec.rb +39 -29
  25. data/spec/mysql/fk/migrate_drop_fk_spec.rb +20 -22
  26. data/spec/mysql/migrate/check_orphan_index_spec.rb +2 -4
  27. data/spec/mysql/migrate/migrate_add_column2_spec.rb +33 -26
  28. data/spec/mysql/migrate/migrate_add_column_spec.rb +32 -22
  29. data/spec/mysql/migrate/migrate_add_column_with_alter_extra_spec.rb +26 -16
  30. data/spec/mysql/migrate/migrate_add_column_with_script_spec.rb +27 -17
  31. data/spec/mysql/migrate/migrate_change_column2_spec.rb +26 -16
  32. data/spec/mysql/migrate/migrate_change_column3_spec.rb +54 -44
  33. data/spec/mysql/migrate/migrate_change_column4_spec.rb +8 -10
  34. data/spec/mysql/migrate/migrate_change_column5_spec.rb +32 -22
  35. data/spec/mysql/migrate/migrate_change_column6_spec.rb +28 -30
  36. data/spec/mysql/migrate/migrate_change_column_default_spec.rb +34 -36
  37. data/spec/mysql/migrate/migrate_change_column_float_spec.rb +10 -12
  38. data/spec/mysql/migrate/migrate_change_column_spec.rb +41 -29
  39. data/spec/mysql/migrate/migrate_change_index2_spec.rb +12 -14
  40. data/spec/mysql/migrate/migrate_change_index3_spec.rb +24 -26
  41. data/spec/mysql/migrate/migrate_change_index4_spec.rb +34 -24
  42. data/spec/mysql/migrate/migrate_change_index5_spec.rb +26 -16
  43. data/spec/mysql/migrate/migrate_change_index6_spec.rb +38 -28
  44. data/spec/mysql/migrate/migrate_change_index_spec.rb +39 -29
  45. data/spec/mysql/migrate/migrate_change_table_option_spec.rb +26 -13
  46. data/spec/mysql/migrate/migrate_create_index2_spec.rb +30 -20
  47. data/spec/mysql/migrate/migrate_create_index_spec.rb +28 -18
  48. data/spec/mysql/migrate/migrate_create_table_spec.rb +24 -14
  49. data/spec/mysql/migrate/migrate_create_table_with_options_spec.rb +4 -6
  50. data/spec/mysql/migrate/migrate_create_table_with_script_spec.rb +23 -13
  51. data/spec/mysql/migrate/migrate_drop_column_and_index2_spec.rb +32 -22
  52. data/spec/mysql/migrate/migrate_drop_column_and_index_spec.rb +35 -25
  53. data/spec/mysql/migrate/migrate_drop_column_spec.rb +36 -26
  54. data/spec/mysql/migrate/migrate_drop_index_spec.rb +28 -18
  55. data/spec/mysql/migrate/migrate_drop_table_spec.rb +29 -19
  56. data/spec/mysql/migrate/migrate_duplicate_index_spec.rb +2 -4
  57. data/spec/mysql/migrate/migrate_duplicate_table_spec.rb +2 -4
  58. data/spec/mysql/migrate/migrate_empty_spec.rb +24 -14
  59. data/spec/mysql/migrate/migrate_execute_spec.rb +78 -65
  60. data/spec/mysql/migrate/migrate_log_file_spec.rb +22 -12
  61. data/spec/mysql/migrate/migrate_merge_mode_spec.rb +31 -21
  62. data/spec/mysql/migrate/migrate_noop_spec.rb +55 -45
  63. data/spec/mysql/migrate/migrate_rename_column_spec.rb +38 -28
  64. data/spec/mysql/migrate/migrate_rename_table_spec.rb +43 -33
  65. data/spec/mysql/migrate/migrate_same_default_null_spec.rb +28 -18
  66. data/spec/mysql/migrate/migrate_same_spec.rb +26 -12
  67. data/spec/mysql/migrate/migrate_script_error_spec.rb +3 -5
  68. data/spec/mysql/migrate/migrate_skip_rename_column_spec.rb +30 -20
  69. data/spec/mysql/migrate/migrate_skip_rename_table_spec.rb +30 -20
  70. data/spec/mysql/migrate/migrate_with_ignore_tables_spec.rb +44 -46
  71. data/spec/mysql/migrate/migrate_with_pre_post_query_spec.rb +6 -8
  72. data/spec/mysql/migrate/migrate_with_tables_spec.rb +20 -22
  73. data/spec/mysql/migrate_/migrate_create_index_with_alter_spec.rb +22 -12
  74. data/spec/mysql/migrate_/migrate_drop_index_with_alter_spec.rb +22 -12
  75. data/spec/mysql/~default_name_fk/migrate_change_fk_spec.rb +8 -10
  76. data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +39 -29
  77. data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +20 -22
  78. data/spec/postgresql/diff/diff_spec.rb +7 -9
  79. data/spec/postgresql/dump/dump_spec.rb +2 -4
  80. data/spec/postgresql/fk/migrate_change_fk_spec.rb +8 -10
  81. data/spec/postgresql/fk/migrate_create_fk_spec.rb +24 -26
  82. data/spec/postgresql/fk/migrate_drop_fk_spec.rb +21 -23
  83. data/spec/postgresql/migrate/migrate_add_column_spec.rb +19 -22
  84. data/spec/postgresql/migrate/migrate_change_column_default_spec.rb +6 -8
  85. data/spec/postgresql/migrate/migrate_change_column_spec.rb +17 -19
  86. data/spec/postgresql/migrate/migrate_change_index_spec.rb +11 -13
  87. data/spec/postgresql/migrate/migrate_create_table_spec.rb +6 -9
  88. data/spec/postgresql/migrate/migrate_drop_column_spec.rb +12 -14
  89. data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +12 -14
  90. data/spec/postgresql/migrate/migrate_drop_index_spec.rb +10 -12
  91. data/spec/postgresql/migrate/migrate_drop_table_spec.rb +7 -9
  92. data/spec/postgresql/migrate/migrate_ext_cols_spec.rb +6 -8
  93. data/spec/postgresql/migrate/migrate_rename_column_spec.rb +12 -14
  94. data/spec/postgresql/migrate/migrate_rename_table_spec.rb +14 -16
  95. data/spec/postgresql/migrate/migrate_same_spec.rb +4 -6
  96. data/spec/postgresql/~default_name_fk/migrate_change_fk_spec.rb +8 -10
  97. data/spec/postgresql/~default_name_fk/migrate_create_fk_spec.rb +24 -26
  98. data/spec/postgresql/~default_name_fk/migrate_drop_fk_spec.rb +20 -22
  99. data/spec/processing_for_travis.rb +9 -0
  100. data/spec/spec_condition.rb +24 -0
  101. data/spec/spec_const.rb +18 -0
  102. data/spec/spec_helper.rb +125 -196
  103. data/spec/string_ext.rb +0 -13
  104. metadata +106 -32
  105. data/spec/mysql/bigint_pk/bigint_pkspec.rb +0 -47
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client.diff' do
3
2
  context 'when change column' do
4
3
  let(:actual_dsl) {
5
- <<-RUBY
4
+ <<-EOS
6
5
  create_table "clubs", force: :cascade do |t|
7
6
  t.string "name", limit: 255, default: "", null: false
8
7
  end
@@ -66,11 +65,11 @@ describe 'Ridgepole::Client.diff' do
66
65
  end
67
66
 
68
67
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
69
- RUBY
68
+ EOS
70
69
  }
71
70
 
72
71
  let(:expected_dsl) {
73
- <<-RUBY
72
+ <<-EOS
74
73
  create_table "clubs", force: :cascade do |t|
75
74
  t.string "name", limit: 255, default: "", null: false
76
75
  end
@@ -134,20 +133,19 @@ describe 'Ridgepole::Client.diff' do
134
133
  end
135
134
 
136
135
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
137
- RUBY
136
+ EOS
138
137
  }
139
138
 
140
139
  subject { Ridgepole::Client }
141
140
 
142
141
  it {
143
- delta = subject.diff(actual_dsl, expected_dsl, enable_mysql_unsigned: true)
142
+ delta = subject.diff(actual_dsl, expected_dsl)
144
143
  expect(delta.differ?).to be_truthy
145
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
144
+ expect(delta.script).to match_fuzzy <<-EOS
146
145
  change_column("employee_clubs", "club_id", :integer, {:null=>true, :default=>nil})
147
146
 
148
147
  change_column("employees", "last_name", :string, {:limit=>20, :default=>"XXX"})
149
- RUBY
148
+ EOS
150
149
  }
151
150
  end
152
151
  end
153
- end
@@ -1,11 +1,10 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#dump' do
3
2
  context 'when there is a tables' do
4
3
  before { restore_tables }
5
4
  subject { client }
6
5
 
7
6
  it {
8
- expect(subject.dump).to eq <<-RUBY.strip_heredoc.strip
7
+ expect(subject.dump).to match_fuzzy <<-EOS
9
8
  create_table "clubs", force: :cascade do |t|
10
9
  t.string "name", limit: 255, default: "", null: false
11
10
  end
@@ -69,8 +68,7 @@ describe 'Ridgepole::Client#dump' do
69
68
  end
70
69
 
71
70
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
72
- RUBY
71
+ EOS
73
72
  }
74
73
  end
75
74
  end
76
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when change fk' do
4
3
  let(:actual_dsl) {
5
- <<-RUBY
4
+ <<-EOS
6
5
  create_table "parent", force: :cascade do |t|
7
6
  end
8
7
 
@@ -13,11 +12,11 @@ end
13
12
  add_index "child", ["parent_id"], name: "par_id", using: :btree
14
13
 
15
14
  add_foreign_key "child", "parent", name: "child_ibfk_1", on_delete: :cascade
16
- RUBY
15
+ EOS
17
16
  }
18
17
 
19
18
  let(:sorted_actual_dsl) {
20
- <<-RUBY
19
+ <<-EOS
21
20
  create_table "child", force: :cascade do |t|
22
21
  t.integer "parent_id"
23
22
  end
@@ -28,11 +27,11 @@ create_table "parent", force: :cascade do |t|
28
27
  end
29
28
 
30
29
  add_foreign_key "child", "parent", name: "child_ibfk_1", on_delete: :cascade
31
- RUBY
30
+ EOS
32
31
  }
33
32
 
34
33
  let(:expected_dsl) {
35
- <<-RUBY
34
+ <<-EOS
36
35
  create_table "child", force: :cascade do |t|
37
36
  t.integer "parent_id"
38
37
  end
@@ -43,7 +42,7 @@ create_table "parent", force: :cascade do |t|
43
42
  end
44
43
 
45
44
  add_foreign_key "child", "parent", name: "child_ibfk_1"
46
- RUBY
45
+ EOS
47
46
  }
48
47
 
49
48
  before { subject.diff(actual_dsl).migrate }
@@ -53,10 +52,9 @@ add_foreign_key "child", "parent", name: "child_ibfk_1"
53
52
  it {
54
53
  delta = subject.diff(expected_dsl)
55
54
  expect(delta.differ?).to be_truthy
56
- expect(subject.dump.delete_empty_lines).to eq sorted_actual_dsl.strip_heredoc.strip.delete_empty_lines
55
+ expect(subject.dump).to match_fuzzy sorted_actual_dsl
57
56
  delta.migrate
58
- expect(subject.dump.delete_empty_lines).to eq expected_dsl.strip_heredoc.strip.delete_empty_lines
57
+ expect(subject.dump).to match_fuzzy expected_dsl
59
58
  }
60
59
  end
61
60
  end
62
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when create fk' do
4
3
  let(:actual_dsl) {
5
- <<-RUBY
4
+ <<-EOS
6
5
  create_table "child", force: :cascade do |t|
7
6
  t.integer "parent_id"
8
7
  end
@@ -11,14 +10,14 @@ add_index "child", ["parent_id"], name: "par_id", using: :btree
11
10
 
12
11
  create_table "parent", force: :cascade do |t|
13
12
  end
14
- RUBY
13
+ EOS
15
14
  }
16
15
 
17
16
  let(:expected_dsl) {
18
- actual_dsl + (<<-RUBY)
17
+ actual_dsl + (<<-EOS)
19
18
 
20
19
  add_foreign_key "child", "parent", name: "child_ibfk_1"
21
- RUBY
20
+ EOS
22
21
  }
23
22
 
24
23
  before { subject.diff(actual_dsl).migrate }
@@ -27,34 +26,34 @@ add_foreign_key "child", "parent", name: "child_ibfk_1"
27
26
  it {
28
27
  delta = subject.diff(expected_dsl)
29
28
  expect(delta.differ?).to be_truthy
30
- expect(subject.dump.delete_empty_lines).to eq actual_dsl.strip_heredoc.strip.delete_empty_lines
29
+ expect(subject.dump).to match_fuzzy actual_dsl
31
30
  delta.migrate
32
- expect(subject.dump.delete_empty_lines).to eq expected_dsl.strip_heredoc.strip.delete_empty_lines
31
+ expect(subject.dump).to match_fuzzy expected_dsl
33
32
  }
34
33
 
35
34
  it {
36
35
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true, default_int_limit: 4)
37
36
  expect(delta.differ?).to be_truthy
38
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
37
+ expect(delta.script).to match_fuzzy <<-EOS
39
38
  remove_foreign_key("child", {:name=>"child_ibfk_1"})
40
- RUBY
39
+ EOS
41
40
  }
42
41
 
43
42
  it {
44
43
  delta = client(bulk_change: true).diff(expected_dsl)
45
44
  expect(delta.differ?).to be_truthy
46
- expect(subject.dump.delete_empty_lines).to eq actual_dsl.strip_heredoc.strip.delete_empty_lines
47
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
45
+ expect(subject.dump).to match_fuzzy actual_dsl
46
+ expect(delta.script).to match_fuzzy <<-EOS
48
47
  add_foreign_key("child", "parent", {:name=>"child_ibfk_1"})
49
- RUBY
48
+ EOS
50
49
  delta.migrate
51
- expect(subject.dump.delete_empty_lines).to eq expected_dsl.strip_heredoc.strip.delete_empty_lines
50
+ expect(subject.dump).to match_fuzzy expected_dsl
52
51
  }
53
52
  end
54
53
 
55
54
  context 'when create fk when create table' do
56
55
  let(:dsl) {
57
- <<-RUBY
56
+ <<-EOS
58
57
  # Define parent before child
59
58
  create_table "parent", force: :cascade do |t|
60
59
  end
@@ -66,11 +65,11 @@ end
66
65
  add_index "child", ["parent_id"], name: "par_id", using: :btree
67
66
 
68
67
  add_foreign_key "child", "parent", name: "child_ibfk_1"
69
- RUBY
68
+ EOS
70
69
  }
71
70
 
72
71
  let(:sorted_dsl) {
73
- <<-RUBY
72
+ <<-EOS
74
73
  create_table "child", force: :cascade do |t|
75
74
  t.integer "parent_id"
76
75
  end
@@ -81,7 +80,7 @@ create_table "parent", force: :cascade do |t|
81
80
  end
82
81
 
83
82
  add_foreign_key "child", "parent", name: "child_ibfk_1"
84
- RUBY
83
+ EOS
85
84
  }
86
85
 
87
86
  before { client.diff('').migrate }
@@ -90,15 +89,15 @@ add_foreign_key "child", "parent", name: "child_ibfk_1"
90
89
  it {
91
90
  delta = subject.diff(dsl)
92
91
  expect(delta.differ?).to be_truthy
93
- expect(subject.dump.strip).to eq ''
92
+ expect(subject.dump).to match_fuzzy ''
94
93
  delta.migrate
95
- expect(subject.dump.delete_empty_lines).to eq sorted_dsl.strip_heredoc.strip.delete_empty_lines
94
+ expect(subject.dump).to match_fuzzy sorted_dsl
96
95
  }
97
96
  end
98
97
 
99
98
  context 'already defined' do
100
99
  let(:dsl) {
101
- <<-RUBY
100
+ <<-EOS
102
101
  # Define parent before child
103
102
  create_table "parent", force: :cascade do |t|
104
103
  end
@@ -112,7 +111,7 @@ add_index "child", ["parent_id"], name: "par_id", using: :btree
112
111
  add_foreign_key "child", "parent", name: "child_ibfk_1"
113
112
 
114
113
  add_foreign_key "child", "parent", name: "child_ibfk_1"
115
- RUBY
114
+ EOS
116
115
  }
117
116
 
118
117
  subject { client }
@@ -126,7 +125,7 @@ add_foreign_key "child", "parent", name: "child_ibfk_1"
126
125
 
127
126
  context 'no name' do
128
127
  let(:dsl) {
129
- <<-RUBY
128
+ <<-EOS
130
129
  # Define parent before child
131
130
  create_table "parent", force: :cascade do |t|
132
131
  end
@@ -138,7 +137,7 @@ end
138
137
  add_index "child", ["parent_id"], name: "par_id", using: :btree
139
138
 
140
139
  add_foreign_key "child", "parent"
141
- RUBY
140
+ EOS
142
141
  }
143
142
 
144
143
  subject { client }
@@ -152,13 +151,13 @@ add_foreign_key "child", "parent"
152
151
 
153
152
  context 'orphan fk' do
154
153
  let(:dsl) {
155
- <<-RUBY
154
+ <<-EOS
156
155
  # Define parent before child
157
156
  create_table "parent", force: :cascade do |t|
158
157
  end
159
158
 
160
159
  add_foreign_key "child", "parent", name: "child_ibfk_1"
161
- RUBY
160
+ EOS
162
161
  }
163
162
 
164
163
  subject { client }
@@ -170,4 +169,3 @@ add_foreign_key "child", "parent", name: "child_ibfk_1"
170
169
  }
171
170
  end
172
171
  end
173
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when drop fk' do
4
3
  let(:actual_dsl) {
5
- <<-RUBY
4
+ <<-EOS
6
5
  create_table "parent", force: :cascade do |t|
7
6
  end
8
7
 
@@ -13,18 +12,18 @@ end
13
12
  add_index "child", ["parent_id"], name: "par_id", using: :btree
14
13
 
15
14
  add_foreign_key "child", "parent", name: "child_ibfk_1"
16
- RUBY
15
+ EOS
17
16
  }
18
17
 
19
18
  let(:sorted_actual_dsl) {
20
- expected_dsl + (<<-RUBY)
19
+ expected_dsl + (<<-EOS)
21
20
 
22
21
  add_foreign_key "child", "parent", name: "child_ibfk_1"
23
- RUBY
22
+ EOS
24
23
  }
25
24
 
26
25
  let(:expected_dsl) {
27
- <<-RUBY
26
+ <<-EOS
28
27
  create_table "child", force: :cascade do |t|
29
28
  t.integer "parent_id"
30
29
  end
@@ -33,7 +32,7 @@ add_index "child", ["parent_id"], name: "par_id", using: :btree
33
32
 
34
33
  create_table "parent", force: :cascade do |t|
35
34
  end
36
- RUBY
35
+ EOS
37
36
  }
38
37
 
39
38
  before { subject.diff(actual_dsl).migrate }
@@ -42,34 +41,34 @@ end
42
41
  it {
43
42
  delta = subject.diff(expected_dsl)
44
43
  expect(delta.differ?).to be_truthy
45
- expect(subject.dump).to eq sorted_actual_dsl.strip_heredoc.strip
44
+ expect(subject.dump).to match_fuzzy sorted_actual_dsl
46
45
  delta.migrate
47
- expect(subject.dump.each_line.select {|i| i !~ /\A\Z/ }.join).to eq expected_dsl.strip_heredoc.strip.each_line.select {|i| i !~ /\A\Z/ }.join
46
+ expect(subject.dump).to match_fuzzy expected_dsl
48
47
  }
49
48
 
50
49
  it {
51
- delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true, default_int_limit: 4)
50
+ delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
52
51
  expect(delta.differ?).to be_truthy
53
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
52
+ expect(delta.script).to match_fuzzy <<-EOS
54
53
  add_foreign_key("child", "parent", {:name=>"child_ibfk_1"})
55
- RUBY
54
+ EOS
56
55
  }
57
56
 
58
57
  it {
59
58
  delta = client(bulk_change: true).diff(expected_dsl)
60
59
  expect(delta.differ?).to be_truthy
61
- expect(subject.dump).to eq sorted_actual_dsl.strip_heredoc.strip
62
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
60
+ expect(subject.dump).to match_fuzzy sorted_actual_dsl
61
+ expect(delta.script).to match_fuzzy <<-EOS
63
62
  remove_foreign_key("child", {:name=>"child_ibfk_1"})
64
- RUBY
63
+ EOS
65
64
  delta.migrate
66
- expect(subject.dump.each_line.select {|i| i !~ /\A\Z/ }.join).to eq expected_dsl.strip_heredoc.strip.each_line.select {|i| i !~ /\A\Z/ }.join
65
+ expect(subject.dump).to match_fuzzy expected_dsl
67
66
  }
68
67
  end
69
68
 
70
69
  context 'when drop fk when drop table' do
71
70
  let(:dsl) {
72
- <<-RUBY
71
+ <<-EOS
73
72
  create_table "parent", force: :cascade do |t|
74
73
  end
75
74
 
@@ -81,11 +80,11 @@ end
81
80
  add_index "child", ["parent_id"], name: "par_id", using: :btree
82
81
 
83
82
  add_foreign_key "child", "parent", name: "child_ibfk_1"
84
- RUBY
83
+ EOS
85
84
  }
86
85
 
87
86
  let(:sorted_dsl) {
88
- <<-RUBY
87
+ <<-EOS
89
88
  create_table "child", force: :cascade do |t|
90
89
  t.integer "parent_id"
91
90
  end
@@ -96,7 +95,7 @@ create_table "parent", force: :cascade do |t|
96
95
  end
97
96
 
98
97
  add_foreign_key "child", "parent", name: "child_ibfk_1"
99
- RUBY
98
+ EOS
100
99
  }
101
100
 
102
101
  before { subject.diff(dsl).migrate }
@@ -105,10 +104,9 @@ add_foreign_key "child", "parent", name: "child_ibfk_1"
105
104
  it {
106
105
  delta = subject.diff('')
107
106
  expect(delta.differ?).to be_truthy
108
- expect(subject.dump).to eq sorted_dsl.strip_heredoc.strip
107
+ expect(subject.dump).to match_fuzzy sorted_dsl
109
108
  delta.migrate
110
- expect(subject.dump.strip).to eq ''
109
+ expect(subject.dump).to match_fuzzy ''
111
110
  }
112
111
  end
113
112
  end
114
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when add column' do
4
3
  let(:actual_dsl) {
5
- <<-RUBY
4
+ <<-EOS
6
5
  create_table "clubs", force: :cascade do |t|
7
6
  t.string "name", limit: 255, default: "", null: false
8
7
  end
@@ -64,11 +63,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
64
63
  end
65
64
 
66
65
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
67
- RUBY
66
+ EOS
68
67
  }
69
68
 
70
69
  let(:expected_dsl) {
71
- <<-RUBY
70
+ <<-EOS
72
71
  create_table "clubs", force: :cascade do |t|
73
72
  t.string "name", limit: 255, default: "", null: false
74
73
  end
@@ -133,7 +132,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
133
132
  end
134
133
 
135
134
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
136
- RUBY
135
+ EOS
137
136
  }
138
137
 
139
138
  before { subject.diff(actual_dsl).migrate }
@@ -142,27 +141,27 @@ describe 'Ridgepole::Client#diff -> migrate' do
142
141
  it {
143
142
  delta = subject.diff(expected_dsl)
144
143
  expect(delta.differ?).to be_truthy
145
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
144
+ expect(subject.dump).to match_fuzzy actual_dsl
146
145
  delta.migrate
147
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip
146
+ expect(subject.dump).to match_fuzzy expected_dsl
148
147
  }
149
148
 
150
149
  it {
151
150
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
152
151
  expect(delta.differ?).to be_truthy
153
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
152
+ expect(delta.script).to match_fuzzy <<-EOS
154
153
  remove_column("employee_clubs", "any_col")
155
154
 
156
155
  remove_column("employees", "age")
157
156
  remove_column("employees", "updated_at")
158
- RUBY
157
+ EOS
159
158
  }
160
159
 
161
160
  it {
162
161
  delta = client(:bulk_change => true).diff(expected_dsl)
163
162
  expect(delta.differ?).to be_truthy
164
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
165
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
163
+ expect(subject.dump).to match_fuzzy actual_dsl
164
+ expect(delta.script).to match_fuzzy <<-EOS
166
165
  change_table("employee_clubs", {:bulk => true}) do |t|
167
166
  t.column("any_col", :string, {:limit=>255, :null=>false, :after=>"club_id"})
168
167
  end
@@ -171,26 +170,26 @@ describe 'Ridgepole::Client#diff -> migrate' do
171
170
  t.column("age", :integer, {:null=>false, :after=>"hire_date"})
172
171
  t.column("updated_at", :date, {:after=>"age"})
173
172
  end
174
- RUBY
173
+ EOS
175
174
  delta.migrate
176
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip
175
+ expect(subject.dump).to match_fuzzy expected_dsl
177
176
  }
178
177
  end
179
178
 
180
179
  context 'when add column (int/noop)' do
181
180
  let(:actual_dsl) {
182
- <<-RUBY
181
+ <<-EOS
183
182
  create_table "dept_emp", id: false, force: :cascade do |t|
184
183
  t.integer "emp_no", null: false
185
184
  t.string "dept_no", limit: 4, null: false
186
185
  t.date "from_date", null: false
187
186
  t.date "to_date", null: false
188
187
  end
189
- RUBY
188
+ EOS
190
189
  }
191
190
 
192
191
  let(:expected_dsl) {
193
- <<-RUBY
192
+ <<-EOS
194
193
  create_table "dept_emp", id: false, force: :cascade do |t|
195
194
  t.integer "emp_no", null: false
196
195
  t.integer "emp_no2", null: false
@@ -198,7 +197,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
198
197
  t.date "from_date", null: false
199
198
  t.date "to_date", null: false
200
199
  end
201
- RUBY
200
+ EOS
202
201
  }
203
202
 
204
203
  before { subject.diff(actual_dsl).migrate }
@@ -207,14 +206,12 @@ describe 'Ridgepole::Client#diff -> migrate' do
207
206
  it {
208
207
  delta = subject.diff(expected_dsl)
209
208
  expect(delta.differ?).to be_truthy
210
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
209
+ expect(subject.dump).to match_fuzzy actual_dsl
211
210
  migrated, sql = delta.migrate(:noop => true)
212
211
  expect(migrated).to be_truthy
213
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
212
+ expect(subject.dump).to match_fuzzy actual_dsl
214
213
 
215
- sql = sql.each_line.map {|i| i.strip }.join("\n")
216
- expect(sql).to eq("ALTER TABLE \"dept_emp\" ADD \"emp_no2\" integer NOT NULL")
214
+ expect(sql).to match_fuzzy("ALTER TABLE \"dept_emp\" ADD \"emp_no2\" integer NOT NULL")
217
215
  }
218
216
  end
219
217
  end
220
- end
@@ -1,26 +1,25 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when change column' do
4
3
  let(:actual_dsl) {
5
- <<-RUBY
4
+ <<-EOS
6
5
  create_table "salaries", id: false, force: :cascade do |t|
7
6
  t.integer "emp_no", default: 0, null: false
8
7
  t.integer "salary", null: false
9
8
  t.date "from_date", null: false
10
9
  t.date "to_date", null: false
11
10
  end
12
- RUBY
11
+ EOS
13
12
  }
14
13
 
15
14
  let(:expected_dsl) {
16
- <<-RUBY
15
+ <<-EOS
17
16
  create_table "salaries", id: false, force: :cascade do |t|
18
17
  t.integer "emp_no", null: false
19
18
  t.integer "salary", null: false
20
19
  t.date "from_date", null: false
21
20
  t.date "to_date", null: false
22
21
  end
23
- RUBY
22
+ EOS
24
23
  }
25
24
 
26
25
  before { subject.diff(actual_dsl).migrate }
@@ -29,10 +28,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
29
28
  it {
30
29
  delta = subject.diff(expected_dsl)
31
30
  expect(delta.differ?).to be_truthy
32
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
31
+ expect(subject.dump).to match_fuzzy actual_dsl
33
32
  delta.migrate
34
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip #.gsub(/(\s*,\s*unsigned: false)?\s*,\s*null: true/, '')
33
+ expect(subject.dump).to match_fuzzy expected_dsl
35
34
  }
36
35
  end
37
36
  end
38
- end