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 -> migrate' 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
@@ -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
@@ -130,7 +129,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
130
129
  end
131
130
 
132
131
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
133
- RUBY
132
+ EOS
134
133
  }
135
134
 
136
135
  before { subject.diff(actual_dsl).migrate }
@@ -139,26 +138,26 @@ describe 'Ridgepole::Client#diff -> migrate' do
139
138
  it {
140
139
  delta = subject.diff(expected_dsl)
141
140
  expect(delta.differ?).to be_truthy
142
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
141
+ expect(subject.dump).to match_fuzzy actual_dsl
143
142
  delta.migrate
144
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip.gsub(/(\s*,\s*unsigned: false)?\s*,\s*null: true/, '')
143
+ expect(subject.dump).to match_fuzzy expected_dsl
145
144
  }
146
145
 
147
146
  it {
148
- delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true, enable_mysql_unsigned: true)
147
+ delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
149
148
  expect(delta.differ?).to be_truthy
150
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
149
+ expect(delta.script).to match_fuzzy <<-EOS
151
150
  change_column("employee_clubs", "club_id", :integer, {:null=>false, :default=>nil})
152
151
 
153
152
  change_column("employees", "last_name", :string, {:limit=>16, :default=>nil})
154
- RUBY
153
+ EOS
155
154
  }
156
155
 
157
156
  it {
158
157
  delta = client(:bulk_change => true).diff(expected_dsl)
159
158
  expect(delta.differ?).to be_truthy
160
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
161
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
159
+ expect(subject.dump).to match_fuzzy actual_dsl
160
+ expect(delta.script).to match_fuzzy <<-EOS
162
161
  change_table("employee_clubs", {:bulk => true}) do |t|
163
162
  t.change("club_id", :integer, {:null=>true, :default=>nil})
164
163
  end
@@ -166,29 +165,29 @@ describe 'Ridgepole::Client#diff -> migrate' do
166
165
  change_table("employees", {:bulk => true}) do |t|
167
166
  t.change("last_name", :string, {:limit=>20, :default=>"XXX"})
168
167
  end
169
- RUBY
168
+ EOS
170
169
  delta.migrate
171
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip.gsub(/(\s*,\s*unsigned: false)?\s*,\s*null: true/, '')
170
+ expect(subject.dump).to match_fuzzy expected_dsl
172
171
  }
173
172
  end
174
173
 
175
174
  context 'when string/text without limit (no change)' do
176
175
  let(:actual_dsl) {
177
- <<-RUBY
176
+ <<-EOS
178
177
  create_table "clubs", force: :cascade do |t|
179
178
  t.string "name", default: "", null: false
180
179
  t.text "desc"
181
180
  end
182
- RUBY
181
+ EOS
183
182
  }
184
183
 
185
184
  let(:expected_dsl) {
186
- <<-RUBY
185
+ <<-EOS
187
186
  create_table "clubs", force: :cascade do |t|
188
187
  t.string "name", default: "", null: false
189
188
  t.text "desc"
190
189
  end
191
- RUBY
190
+ EOS
192
191
  }
193
192
 
194
193
  before { subject.diff(actual_dsl).migrate }
@@ -200,4 +199,3 @@ describe 'Ridgepole::Client#diff -> migrate' do
200
199
  }
201
200
  end
202
201
  end
203
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when change index' 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 -> migrate' 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,7 +133,7 @@ describe 'Ridgepole::Client#diff -> migrate' 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
  before { subject.diff(actual_dsl).migrate }
@@ -143,15 +142,15 @@ describe 'Ridgepole::Client#diff -> migrate' do
143
142
  it {
144
143
  delta = subject.diff(expected_dsl)
145
144
  expect(delta.differ?).to be_truthy
146
- expect(subject.dump.delete_empty_lines).to eq actual_dsl.strip_heredoc.strip.delete_empty_lines
145
+ expect(subject.dump).to match_fuzzy actual_dsl
147
146
  delta.migrate
148
- expect(subject.dump.delete_empty_lines).to eq expected_dsl.strip_heredoc.strip.delete_empty_lines
147
+ expect(subject.dump).to match_fuzzy expected_dsl
149
148
  }
150
149
 
151
150
  it {
152
151
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
153
152
  expect(delta.differ?).to be_truthy
154
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
153
+ expect(delta.script).to match_fuzzy <<-EOS
155
154
  remove_index("dept_emp", {:name=>"idx_dept_emp_emp_no"})
156
155
  add_index("dept_emp", ["emp_no"], {:name=>"idx_dept_emp_emp_no", :using=>:btree, :unique=>false})
157
156
 
@@ -160,14 +159,14 @@ describe 'Ridgepole::Client#diff -> migrate' do
160
159
 
161
160
  remove_index("salaries", {:name=>"idx_salaries_emp_no"})
162
161
  add_index("salaries", ["emp_no"], {:name=>"idx_salaries_emp_no", :using=>:btree, :unique=>false})
163
- RUBY
162
+ EOS
164
163
  }
165
164
 
166
165
  it {
167
166
  delta = client(:bulk_change => true).diff(expected_dsl)
168
167
  expect(delta.differ?).to be_truthy
169
- expect(subject.dump.delete_empty_lines).to eq actual_dsl.strip_heredoc.strip.delete_empty_lines
170
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
168
+ expect(subject.dump).to match_fuzzy actual_dsl
169
+ expect(delta.script).to match_fuzzy <<-EOS
171
170
  change_table("dept_emp", {:bulk => true}) do |t|
172
171
  t.remove_index({:name=>"idx_dept_emp_emp_no"})
173
172
  t.index(["from_date"], {:name=>"idx_dept_emp_emp_no", :using=>:btree, :unique=>false})
@@ -182,7 +181,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
182
181
  t.remove_index({:name=>"idx_salaries_emp_no"})
183
182
  t.index(["from_date"], {:name=>"idx_salaries_emp_no", :using=>:btree, :unique=>false})
184
183
  end
185
- RUBY
184
+ EOS
186
185
 
187
186
  expect {
188
187
  delta.migrate
@@ -190,4 +189,3 @@ describe 'Ridgepole::Client#diff -> migrate' do
190
189
  }
191
190
  end
192
191
  end
193
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when create table' do
4
3
  let(: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,7 +63,7 @@ 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(:actual_dsl) {
@@ -81,23 +80,21 @@ describe 'Ridgepole::Client#diff -> migrate' do
81
80
  it {
82
81
  delta = subject.diff(expected_dsl)
83
82
  expect(delta.differ?).to be_truthy
84
- expect(subject.dump.delete_empty_lines).to eq actual_dsl.strip_heredoc.strip.delete_empty_lines
83
+ expect(subject.dump).to match_fuzzy actual_dsl
85
84
  delta.migrate
86
- expect(subject.dump.delete_empty_lines).to eq expected_dsl.strip_heredoc.strip.delete_empty_lines
85
+ expect(subject.dump).to match_fuzzy expected_dsl
87
86
  }
88
87
 
89
88
  it {
90
89
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
91
90
  expect(delta.differ?).to be_truthy
92
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
91
+ expect(delta.script).to match_fuzzy <<-EOS
93
92
  drop_table("clubs")
94
93
 
95
94
  drop_table("employee_clubs")
96
95
 
97
96
  drop_table("employees")
98
- RUBY
97
+ EOS
99
98
  }
100
99
  end
101
100
  end
102
- end
103
-
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when drop 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 -> migrate' 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
@@ -128,7 +127,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
128
127
  end
129
128
 
130
129
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
131
- RUBY
130
+ EOS
132
131
  }
133
132
 
134
133
  before { subject.diff(actual_dsl).migrate }
@@ -137,15 +136,15 @@ describe 'Ridgepole::Client#diff -> migrate' do
137
136
  it {
138
137
  delta = subject.diff(expected_dsl)
139
138
  expect(delta.differ?).to be_truthy
140
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
139
+ expect(subject.dump).to match_fuzzy actual_dsl
141
140
  delta.migrate
142
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip
141
+ expect(subject.dump).to match_fuzzy expected_dsl
143
142
  }
144
143
 
145
144
  it {
146
145
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
147
146
  expect(delta.differ?).to be_truthy
148
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
147
+ expect(delta.script).to match_fuzzy <<-EOS
149
148
  add_column("dept_emp", "from_date", :date, {:null=>false, :after=>"dept_no"})
150
149
  add_column("dept_emp", "to_date", :date, {:null=>false, :after=>"from_date"})
151
150
 
@@ -154,14 +153,14 @@ describe 'Ridgepole::Client#diff -> migrate' do
154
153
 
155
154
  add_column("employees", "last_name", :string, {:limit=>16, :null=>false, :after=>"first_name"})
156
155
  add_column("employees", "hire_date", :date, {:null=>false, :after=>"last_name"})
157
- RUBY
156
+ EOS
158
157
  }
159
158
 
160
159
  it {
161
160
  delta = client(:bulk_change => true).diff(expected_dsl)
162
161
  expect(delta.differ?).to be_truthy
163
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
164
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
162
+ expect(subject.dump).to match_fuzzy actual_dsl
163
+ expect(delta.script).to match_fuzzy <<-EOS
165
164
  change_table("dept_emp", {:bulk => true}) do |t|
166
165
  t.remove("from_date")
167
166
  t.remove("to_date")
@@ -176,10 +175,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
176
175
  t.remove("last_name")
177
176
  t.remove("hire_date")
178
177
  end
179
- RUBY
178
+ EOS
180
179
  delta.migrate
181
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip
180
+ expect(subject.dump).to match_fuzzy expected_dsl
182
181
  }
183
182
  end
184
183
  end
185
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when drop column and index' 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 -> migrate' 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
@@ -123,7 +122,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
123
122
  end
124
123
 
125
124
  add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
126
- RUBY
125
+ EOS
127
126
  }
128
127
 
129
128
  before { subject.diff(actual_dsl).migrate }
@@ -132,24 +131,24 @@ describe 'Ridgepole::Client#diff -> migrate' do
132
131
  it {
133
132
  delta = subject.diff(expected_dsl)
134
133
  expect(delta.differ?).to be_truthy
135
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
134
+ expect(subject.dump).to match_fuzzy actual_dsl
136
135
  delta.migrate
137
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip
136
+ expect(subject.dump).to match_fuzzy expected_dsl
138
137
  }
139
138
 
140
139
  it {
141
140
  delta = subject.diff(expected_dsl)
142
141
  expect(delta.differ?).to be_truthy
143
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
142
+ expect(subject.dump).to match_fuzzy actual_dsl
144
143
  delta.migrate(:noop => true)
145
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
144
+ expect(subject.dump).to match_fuzzy actual_dsl
146
145
  }
147
146
 
148
147
  it {
149
148
  delta = client(:bulk_change => true).diff(expected_dsl)
150
149
  expect(delta.differ?).to be_truthy
151
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
152
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
150
+ expect(subject.dump).to match_fuzzy actual_dsl
151
+ expect(delta.script).to match_fuzzy <<-EOS
153
152
  change_table("dept_emp", {:bulk => true}) do |t|
154
153
  t.remove("emp_no")
155
154
  t.remove("from_date")
@@ -171,10 +170,9 @@ change_table("employees", {:bulk => true}) do |t|
171
170
  t.remove("last_name")
172
171
  t.remove("hire_date")
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
  end
180
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when drop index' do
4
3
  let(: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,7 +65,7 @@ describe 'Ridgepole::Client#diff -> migrate' 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(:actual_dsl) { dsl }
@@ -83,28 +82,28 @@ describe 'Ridgepole::Client#diff -> migrate' do
83
82
  it {
84
83
  delta = subject.diff(expected_dsl)
85
84
  expect(delta.differ?).to be_truthy
86
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
85
+ expect(subject.dump).to match_fuzzy actual_dsl
87
86
  delta.migrate
88
- 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
87
+ expect(subject.dump).to match_fuzzy expected_dsl
89
88
  }
90
89
 
91
90
  it {
92
91
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
93
92
  expect(delta.differ?).to be_truthy
94
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
93
+ expect(delta.script).to match_fuzzy <<-EOS
95
94
  add_index("clubs", ["name"], {:name=>"idx_name", :unique=>true, :using=>:btree})
96
95
 
97
96
  add_index("employee_clubs", ["emp_no", "club_id"], {:name=>"idx_employee_clubs_emp_no_club_id", :using=>:btree})
98
97
 
99
98
  add_index("titles", ["emp_no"], {:name=>"idx_titles_emp_no", :using=>:btree})
100
- RUBY
99
+ EOS
101
100
  }
102
101
 
103
102
  it {
104
103
  delta = client(:bulk_change => true).diff(expected_dsl)
105
104
  expect(delta.differ?).to be_truthy
106
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
107
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
105
+ expect(subject.dump).to match_fuzzy actual_dsl
106
+ expect(delta.script).to match_fuzzy <<-EOS
108
107
  change_table("clubs", {:bulk => true}) do |t|
109
108
  t.remove_index({:name=>"idx_name"})
110
109
  end
@@ -116,10 +115,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
116
115
  change_table("titles", {:bulk => true}) do |t|
117
116
  t.remove_index({:name=>"idx_titles_emp_no"})
118
117
  end
119
- RUBY
118
+ EOS
120
119
  delta.migrate
121
- 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
120
+ expect(subject.dump).to match_fuzzy expected_dsl
122
121
  }
123
122
  end
124
123
  end
125
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when drop table' do
4
3
  let(: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,7 +65,7 @@ describe 'Ridgepole::Client#diff -> migrate' 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(:actual_dsl) { dsl }
@@ -83,16 +82,16 @@ describe 'Ridgepole::Client#diff -> migrate' do
83
82
  it {
84
83
  delta = subject.diff(expected_dsl)
85
84
  expect(delta.differ?).to be_truthy
86
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
85
+ expect(subject.dump).to match_fuzzy actual_dsl
87
86
  delta.migrate
88
- 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
87
+ expect(subject.dump).to match_fuzzy expected_dsl
89
88
  }
90
89
 
91
90
  it {
92
91
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
93
92
  expect(delta.differ?).to be_truthy
94
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
95
- create_table("clubs", {#{unsigned_if_enabled2('')}}) do |t|
93
+ expect(delta.script).to match_fuzzy <<-EOS
94
+ create_table("clubs", {}) do |t|
96
95
  t.string("name", {:limit=>255, :default=>"", :null=>false})
97
96
  end
98
97
  add_index("clubs", ["name"], {:name=>"idx_name", :unique=>true, :using=>:btree})
@@ -109,8 +108,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
109
108
  t.string("last_name", {:limit=>16, :null=>false})
110
109
  t.date("hire_date", {:null=>false})
111
110
  end
112
- RUBY
111
+ EOS
113
112
  }
114
113
  end
115
114
  end
116
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when add column (ext cols)' do
4
3
  let(:actual_dsl) {
5
- <<-RUBY
4
+ <<-EOS
6
5
  create_table "items", force: :cascade do |t|
7
6
  t.string "name"
8
7
  t.integer "price"
@@ -10,11 +9,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
10
9
  t.datetime "created_at", null: false
11
10
  t.datetime "updated_at", null: false
12
11
  end
13
- RUBY
12
+ EOS
14
13
  }
15
14
 
16
15
  let(:expected_dsl) {
17
- <<-RUBY
16
+ <<-EOS
18
17
  create_table "items", force: :cascade do |t|
19
18
  t.string "name"
20
19
  t.integer "price"
@@ -46,7 +45,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
46
45
  t.bit_varying "bit varying"
47
46
  t.money "money", scale: 2
48
47
  end
49
- RUBY
48
+ EOS
50
49
  }
51
50
 
52
51
  before { subject.diff(actual_dsl).migrate }
@@ -55,11 +54,10 @@ describe 'Ridgepole::Client#diff -> migrate' do
55
54
  it {
56
55
  delta = subject.diff(expected_dsl)
57
56
  expect(delta.differ?).to be_truthy
58
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
57
+ expect(subject.dump).to match_fuzzy actual_dsl
59
58
  delta.migrate
60
59
  expected_dsl.sub!('t.bigint "bigint"', 't.integer "bigint", limit: 8')
61
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip
60
+ expect(subject.dump).to match_fuzzy expected_dsl
62
61
  }
63
62
  end
64
63
  end
65
- end
@@ -1,8 +1,7 @@
1
- if postgresql?
2
1
  describe 'Ridgepole::Client#diff -> migrate' do
3
2
  context 'when rename 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 -> migrate' 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,7 +133,7 @@ describe 'Ridgepole::Client#diff -> migrate' 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
  before { subject.diff(actual_dsl).migrate }
@@ -143,26 +142,26 @@ describe 'Ridgepole::Client#diff -> migrate' do
143
142
  it {
144
143
  delta = subject.diff(expected_dsl)
145
144
  expect(delta.differ?).to be_truthy
146
- expect(subject.dump).to eq actual_dsl.strip_heredoc.strip
145
+ expect(subject.dump).to match_fuzzy actual_dsl
147
146
  delta.migrate
148
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip.gsub(/\s*,\s*renamed_from:.*$/, '')
147
+ expect(subject.dump).to match_fuzzy expected_dsl.gsub(/\s*,\s*renamed_from:.*$/, '')
149
148
  }
150
149
 
151
150
  it {
152
151
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
153
152
  expect(delta.differ?).to be_truthy
154
- expect(delta.script).to eq <<-RUBY.strip_heredoc.strip
153
+ expect(delta.script).to match_fuzzy <<-EOS
155
154
  rename_column("dept_emp", "from_date2", "from_date")
156
155
 
157
156
  rename_column("dept_manager", "to_date2", "to_date")
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("dept_emp", {:bulk => true}) do |t|
167
166
  t.rename("from_date", "from_date2")
168
167
  end
@@ -170,10 +169,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
170
169
  change_table("dept_manager", {:bulk => true}) do |t|
171
170
  t.rename("to_date", "to_date2")
172
171
  end
173
- RUBY
172
+ EOS
174
173
  delta.migrate
175
- expect(subject.dump).to eq expected_dsl.strip_heredoc.strip.gsub(/\s*,\s*renamed_from:.*$/, '')
174
+ expect(subject.dump).to match_fuzzy expected_dsl.gsub(/\s*,\s*renamed_from:.*$/, '')
176
175
  }
177
176
  end
178
177
  end
179
- end