ridgepole 0.6.4 → 0.6.5.beta

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.
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