ridgepole 0.8.4 → 0.8.9

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +38 -4
  3. data/.travis.yml +5 -7
  4. data/README.md +13 -1
  5. data/bin/ridgepole +4 -2
  6. data/lib/ridgepole/cli/config.rb +5 -3
  7. data/lib/ridgepole/delta.rb +29 -22
  8. data/lib/ridgepole/diff.rb +13 -1
  9. data/lib/ridgepole/dsl_parser.rb +2 -1
  10. data/lib/ridgepole/dsl_parser/context.rb +5 -2
  11. data/lib/ridgepole/external_sql_executer.rb +1 -1
  12. data/lib/ridgepole/version.rb +1 -1
  13. data/spec/dsl_parser/context_spec.rb +16 -0
  14. data/spec/fixtures/for_require_relative_spec.rb +3 -0
  15. data/spec/mysql/cli/config_spec.rb +54 -1
  16. data/spec/mysql/cli/ridgepole_spec.rb +1 -0
  17. data/spec/mysql/collation/collation_spec.rb +6 -0
  18. data/spec/mysql/diff/diff2_spec.rb +3 -3
  19. data/spec/mysql/diff/diff_spec.rb +3 -3
  20. data/spec/mysql/fk/migrate_create_fk_spec.rb +27 -7
  21. data/spec/mysql/fk/migrate_drop_fk_spec.rb +1 -1
  22. data/spec/mysql/fk/migrate_fk_with_column_spec.rb +2 -2
  23. data/spec/mysql/migrate/migrate_add_column_spec.rb +5 -5
  24. data/spec/mysql/migrate/migrate_change_column8_spec.rb +1 -1
  25. data/spec/mysql/migrate/migrate_change_column_spec.rb +5 -5
  26. data/spec/mysql/migrate/migrate_change_index_spec.rb +9 -9
  27. data/spec/mysql/migrate/migrate_change_table_comment_spec.rb +1 -1
  28. data/spec/mysql/migrate/migrate_change_table_option_spec.rb +1 -1
  29. data/spec/mysql/migrate/migrate_create_index_spec.rb +6 -6
  30. data/spec/mysql/migrate/migrate_create_table_with_index_spec.rb +7 -7
  31. data/spec/mysql/migrate/migrate_create_table_with_options_spec.rb +8 -8
  32. data/spec/mysql/migrate/migrate_drop_column_and_index_spec.rb +4 -4
  33. data/spec/mysql/migrate/migrate_drop_column_spec.rb +3 -3
  34. data/spec/mysql/migrate/migrate_drop_index_spec.rb +6 -6
  35. data/spec/mysql/migrate/migrate_rename_column_spec.rb +3 -3
  36. data/spec/mysql/migrate/migrate_script_error_spec.rb +1 -1
  37. data/spec/mysql/text_blob_types/text_blob_types_spec.rb +4 -1
  38. data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +1 -1
  39. data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +1 -1
  40. data/spec/mysql/~dump_auto_increment/migrate_create_table_with_index_spec.rb +7 -7
  41. data/spec/postgresql/diff/diff_spec.rb +2 -2
  42. data/spec/postgresql/fk/migrate_create_fk_spec.rb +2 -2
  43. data/spec/postgresql/fk/migrate_drop_fk_spec.rb +1 -1
  44. data/spec/postgresql/migrate/migrate_add_column_spec.rb +5 -5
  45. data/spec/postgresql/migrate/migrate_change_column_spec.rb +4 -4
  46. data/spec/postgresql/migrate/migrate_change_index_spec.rb +9 -9
  47. data/spec/postgresql/migrate/migrate_drop_column_spec.rb +3 -3
  48. data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +5 -5
  49. data/spec/postgresql/migrate/migrate_drop_expression_index_spec.rb +1 -1
  50. data/spec/postgresql/migrate/migrate_drop_index_spec.rb +6 -6
  51. data/spec/postgresql/migrate/migrate_rename_column_spec.rb +2 -2
  52. data/spec/postgresql/~default_name_fk/migrate_create_fk_spec.rb +1 -1
  53. data/spec/postgresql/~default_name_fk/migrate_drop_fk_spec.rb +1 -1
  54. data/spec/spec_condition.rb +0 -4
  55. metadata +6 -2
@@ -17,6 +17,7 @@ describe 'ridgepole' do
17
17
  expect(out).to match_fuzzy <<-MSG
18
18
  -c, --config CONF_OR_FILE
19
19
  -E, --env ENVIRONMENT
20
+ -s, --spec-name SPEC_NAME
20
21
  -a, --apply
21
22
  -m, --merge
22
23
  -f, --file SCHEMAFILE
@@ -138,6 +138,12 @@ describe 'Ridgepole::Client#diff -> migrate' do
138
138
  opts = ['--dump-without-table-options']
139
139
  out, status = run_ridgepole('--diff', "'#{JSON.dump(conn_spec)}'", f.path, *opts)
140
140
 
141
+ # v6.0.3 is the oldest version that doesn't produce any kwargs warnings with Ruby 2.7
142
+ if condition('< 6.0.3')
143
+ # https://github.com/jeremyevans/ruby-warning/blob/1.1.0/lib/warning.rb#L18
144
+ out = out.lines.grep_v(/: warning: (?:Using the last argument (?:for `.+' )?as keyword parameters is deprecated; maybe \*\* should be added to the call|Passing the keyword argument (?:for `.+' )?as the last hash parameter is deprecated|Splitting the last argument (?:for `.+' )?into positional and keyword parameters is deprecated|The called method (?:`.+' )?is defined here)\n\z/).join('')
145
+ end
146
+
141
147
  expect(out).to be_empty
142
148
  expect(status.success?).to be_truthy
143
149
  end
@@ -175,10 +175,10 @@ describe 'Ridgepole::Client.diff' do
175
175
  delta = subject.diff(actual_dsl, expected_dsl)
176
176
  expect(delta.differ?).to be_truthy
177
177
  expect(delta.script).to match_ruby erbh(<<-ERB)
178
- change_column("employee_clubs", "club_id", :integer, <%= {:unsigned=>false, :null=>true, :default=>nil} + cond('>= 5.1', comment: nil) %>)
178
+ change_column("employee_clubs", "club_id", :integer, **<%= {:unsigned=>false, :null=>true, :default=>nil} + cond('>= 5.1', comment: nil) %>)
179
179
 
180
- change_column("employees", "last_name", :string, <%= {:limit=>20, :default=>"XXX", :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
181
- change_column("employees", "gender", :string, <%= {:limit=>2, :null=>false, :default=>nil, :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
180
+ change_column("employees", "last_name", :string, **<%= {:limit=>20, :default=>"XXX", :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
181
+ change_column("employees", "gender", :string, **<%= {:limit=>2, :null=>false, :default=>nil, :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
182
182
  ERB
183
183
  }
184
184
 
@@ -149,10 +149,10 @@ describe 'Ridgepole::Client.diff' do
149
149
  delta = subject.diff(actual_dsl, expected_dsl)
150
150
  expect(delta.differ?).to be_truthy
151
151
  expect(delta.script).to match_ruby erbh(<<-ERB)
152
- change_column("employee_clubs", "club_id", :integer, <%= {:unsigned=>false, :null=>true, :default=>nil} + cond('>= 5.1', comment: nil) %>)
152
+ change_column("employee_clubs", "club_id", :integer, **<%= {:unsigned=>false, :null=>true, :default=>nil} + cond('>= 5.1', comment: nil) %>)
153
153
 
154
- change_column("employees", "last_name", :string, <%= {:limit=>20, :default=>"XXX", :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
155
- change_column("employees", "gender", :string, <%= {:limit=>2, :null=>false, :default=>nil, :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
154
+ change_column("employees", "last_name", :string, **<%= {:limit=>20, :default=>"XXX", :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
155
+ change_column("employees", "gender", :string, **<%= {:limit=>2, :null=>false, :default=>nil, :unsigned=>false} + cond('>= 5.1', comment: nil) %>)
156
156
  ERB
157
157
  }
158
158
  end
@@ -36,7 +36,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
36
36
  expect(delta.differ?).to be_truthy
37
37
  expect(subject.dump).to match_ruby actual_dsl
38
38
  expect(delta.script).to match_fuzzy <<-RUBY
39
- add_foreign_key("child", "parent", {:name=>"child_ibfk_1"})
39
+ add_foreign_key("child", "parent", **{:name=>"child_ibfk_1"})
40
40
  RUBY
41
41
  delta.migrate
42
42
  expect(subject.dump).to match_ruby expected_dsl
@@ -144,7 +144,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
144
144
  expect(delta.differ?).to be_truthy
145
145
  expect(subject.dump).to match_ruby actual_dsl
146
146
  expect(delta.script).to match_fuzzy <<-RUBY
147
- add_foreign_key("child", "parent", {})
147
+ add_foreign_key("child", "parent", **{})
148
148
  RUBY
149
149
  delta.migrate
150
150
  expect(subject.dump).to match_ruby expected_dsl
@@ -188,13 +188,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
188
188
  it {
189
189
  expect(Ridgepole::Logger.instance).to receive(:warn).with(<<-MSG).twice
190
190
  [WARNING] Table `child` has a foreign key on `parent_id` column, but doesn't have any indexes on the column.
191
- Although an index will be added automatically by InnoDB, please add an index explicitly for your future operations.
191
+ Although an index will be added automatically by InnoDB, please add an index explicitly before the next operation.
192
192
  MSG
193
193
  subject.diff(dsl).migrate
194
194
 
195
- expect do
196
- subject.diff(dsl).migrate
197
- end.to raise_error(/Mysql2::Error: Cannot drop index/)
195
+ expect(subject.diff(dsl).differ?).to be_truthy
198
196
  }
199
197
  end
200
198
 
@@ -219,7 +217,29 @@ describe 'Ridgepole::Client#diff -> migrate' do
219
217
  expect(Ridgepole::Logger.instance).to_not receive(:warn)
220
218
  subject.diff(dsl).migrate
221
219
 
222
- expect { subject.diff(dsl).migrate }.to_not raise_error
220
+ expect(subject.diff(dsl).differ?).to be_falsey
221
+ }
222
+ end
223
+
224
+ context 'when create fk on the primary key' do
225
+ let(:dsl) do
226
+ erbh(<<-ERB)
227
+ create_table "users", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
228
+ end
229
+
230
+ create_table "icons", primary_key: "user_id", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
231
+ end
232
+ add_foreign_key "icons", "users", name: "fk_icons_users"
233
+ ERB
234
+ end
235
+
236
+ subject { client(dump_without_table_options: false) }
237
+
238
+ it {
239
+ expect(Ridgepole::Logger.instance).to_not receive(:warn)
240
+ subject.diff(dsl).migrate
241
+
242
+ expect(subject.diff(dsl).differ?).to be_falsey
223
243
  }
224
244
  end
225
245
  end
@@ -50,7 +50,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
50
50
  expect(delta.differ?).to be_truthy
51
51
  expect(subject.dump).to match_fuzzy sorted_actual_dsl
52
52
  expect(delta.script).to match_fuzzy <<-RUBY
53
- remove_foreign_key("child", {:name=>"child_ibfk_1"})
53
+ remove_foreign_key("child", name: "child_ibfk_1")
54
54
  RUBY
55
55
  delta.migrate
56
56
  expect(subject.dump).to match_ruby expected_dsl
@@ -44,8 +44,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
44
44
  expect(delta.differ?).to be_truthy
45
45
  expect(subject.dump).to match_ruby actual_dsl
46
46
  expect(delta.script).to match_fuzzy <<-RUBY
47
- add_foreign_key("direct_messages", "users", {:column=>"reciever_id"})
48
- add_foreign_key("direct_messages", "users", {:column=>"sender_id"})
47
+ add_foreign_key("direct_messages", "users", **{:column=>"reciever_id"})
48
+ add_foreign_key("direct_messages", "users", **{:column=>"sender_id"})
49
49
  RUBY
50
50
  delta.migrate
51
51
  expect(subject.dump).to match_ruby expected_dsl
@@ -145,13 +145,13 @@ describe 'Ridgepole::Client#diff -> migrate' do
145
145
  expect(delta.differ?).to be_truthy
146
146
  expect(subject.dump).to match_ruby actual_dsl
147
147
  expect(delta.script).to match_fuzzy erbh(<<-ERB)
148
- change_table("employee_clubs", {:bulk=>true}) do |t|
149
- t.column("any_col", :string, {:null=>false, :after=>"club_id", :limit=>255})
148
+ change_table("employee_clubs", bulk: true) do |t|
149
+ t.column("any_col", :string, **{:null=>false, :after=>"club_id", :limit=>255})
150
150
  end
151
151
 
152
- change_table("employees", {:bulk => true}) do |t|
153
- t.column("age", :integer, {:null=>false, :after=>"hire_date", :limit=>4})
154
- t.column("updated_at", :date, {:after=>"age"})
152
+ change_table("employees", bulk: true) do |t|
153
+ t.column("age", :integer, **{:null=>false, :after=>"hire_date", :limit=>4})
154
+ t.column("updated_at", :date, **{:after=>"age"})
155
155
  end
156
156
  ERB
157
157
  delta.migrate
@@ -4,7 +4,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
4
4
  before { subject.diff(actual_dsl).migrate }
5
5
  subject { client(table_options: table_options, dump_without_table_options: dump_without_table_options) }
6
6
 
7
- let(:warning_regexp) { /table options differ/ }
7
+ let(:warning_regexp) { /Table option changes are ignored/ }
8
8
  let(:dump_without_table_options) { false }
9
9
 
10
10
  let(:actual_dsl) do
@@ -142,13 +142,13 @@ describe 'Ridgepole::Client#diff -> migrate' do
142
142
  expect(delta.differ?).to be_truthy
143
143
  expect(subject.dump).to match_ruby actual_dsl
144
144
  expect(delta.script).to match_fuzzy erbh(<<-ERB)
145
- change_table("employee_clubs", {:bulk => true}) do |t|
146
- t.change("club_id", :integer, <%= {:null=>true, :default=>nil, :unsigned=>false} + cond('>= 5.1',comment: nil) %>)
145
+ change_table("employee_clubs", bulk: true) do |t|
146
+ t.change("club_id", :integer, **<%= {:null=>true, :default=>nil, :unsigned=>false} + cond('>= 5.1',comment: nil) %>)
147
147
  end
148
148
 
149
- change_table("employees", {:bulk => true}) do |t|
150
- t.change("last_name", :string, <%= {:limit=>20, :default=>"XXX", :unsigned=>false} + cond('>= 5.1',comment: nil) %>)
151
- t.change("gender", :string, <%= {:limit=>2, :null=>false, :default=>nil, :unsigned=>false} + cond('>= 5.1',comment: nil) %>)
149
+ change_table("employees", bulk: true) do |t|
150
+ t.change("last_name", :string, **<%= {:limit=>20, :default=>"XXX", :unsigned=>false} + cond('>= 5.1',comment: nil) %>)
151
+ t.change("gender", :string, **<%= {:limit=>2, :null=>false, :default=>nil, :unsigned=>false} + cond('>= 5.1',comment: nil) %>)
152
152
  end
153
153
  ERB
154
154
  delta.migrate
@@ -204,19 +204,19 @@ describe 'Ridgepole::Client#diff -> migrate' do
204
204
  expect(delta.differ?).to be_truthy
205
205
  expect(subject.dump).to match_ruby actual_dsl
206
206
  expect(delta.script).to match_fuzzy <<-RUBY
207
- change_table("dept_emp", {:bulk => true}) do |t|
208
- t.remove_index({:name=>"emp_no"})
209
- t.index(["from_date"], {:name=>"emp_no", :using=>:btree, :unique=>false})
207
+ change_table("dept_emp", bulk: true) do |t|
208
+ t.remove_index(name: "emp_no")
209
+ t.index(["from_date"], **{:name=>"emp_no", :using=>:btree, :unique=>false})
210
210
  end
211
211
 
212
- change_table("dept_manager", {:bulk => true}) do |t|
213
- t.remove_index({:name=>"emp_no"})
214
- t.index(["from_date"], {:name=>"emp_no", :using=>:btree, :unique=>false})
212
+ change_table("dept_manager", bulk: true) do |t|
213
+ t.remove_index(name: "emp_no")
214
+ t.index(["from_date"], **{:name=>"emp_no", :using=>:btree, :unique=>false})
215
215
  end
216
216
 
217
- change_table("salaries", {:bulk => true}) do |t|
218
- t.remove_index({:name=>"emp_no"})
219
- t.index(["from_date"], {:name=>"emp_no", :using=>:btree, :unique=>false})
217
+ change_table("salaries", bulk: true) do |t|
218
+ t.remove_index(name: "emp_no")
219
+ t.index(["from_date"], **{:name=>"emp_no", :using=>:btree, :unique=>false})
220
220
  end
221
221
  RUBY
222
222
 
@@ -32,7 +32,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
32
32
 
33
33
  it {
34
34
  expect(Ridgepole::Logger.instance).to receive(:warn).with(<<-MSG)
35
- [WARNING] No difference of schema configuration for table `employees` but table options differ.
35
+ [WARNING] Table option changes are ignored on `employees`.
36
36
  from: {:comment=>"old comment"}
37
37
  to: {:comment=>"new comment"}
38
38
  MSG
@@ -31,7 +31,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
31
31
 
32
32
  it {
33
33
  expect(Ridgepole::Logger.instance).to receive(:warn).with(<<-MSG)
34
- [WARNING] No difference of schema configuration for table `employees` but table options differ.
34
+ [WARNING] Table option changes are ignored on `employees`.
35
35
  from: {:primary_key=>"emp_no"}
36
36
  to: {:primary_key=>"emp_no2"}
37
37
  MSG
@@ -141,16 +141,16 @@ describe 'Ridgepole::Client#diff -> migrate' do
141
141
  expect(delta.differ?).to be_truthy
142
142
  expect(subject.dump).to match_ruby actual_dsl
143
143
  expect(delta.script).to match_fuzzy erbh(<<-ERB)
144
- change_table("clubs", {:bulk => true}) do |t|
145
- t.index(["name"], <%= {:name=>"idx_name", :unique=>true} + cond(5.0, using: :btree) %>)
144
+ change_table("clubs", bulk: true) do |t|
145
+ t.index(["name"], **<%= {:name=>"idx_name", :unique=>true} + cond(5.0, using: :btree) %>)
146
146
  end
147
147
 
148
- change_table("employee_clubs", {:bulk => true}) do |t|
149
- t.index(["emp_no", "club_id"], <%= {:name=>"idx_emp_no_club_id"} + cond(5.0, using: :btree) %>)
148
+ change_table("employee_clubs", bulk: true) do |t|
149
+ t.index(["emp_no", "club_id"], **<%= {:name=>"idx_emp_no_club_id"} + cond(5.0, using: :btree) %>)
150
150
  end
151
151
 
152
- change_table("titles", {:bulk => true}) do |t|
153
- t.index(["emp_no"], <%= {:name=>"emp_no"} + cond(5.0, using: :btree) %>)
152
+ change_table("titles", bulk: true) do |t|
153
+ t.index(["emp_no"], **<%= {:name=>"emp_no"} + cond(5.0, using: :btree) %>)
154
154
  end
155
155
  ERB
156
156
  delta.migrate
@@ -25,13 +25,13 @@ describe 'Ridgepole::Client#diff -> migrate (with index)' do
25
25
  expect(delta.differ?).to be_truthy
26
26
 
27
27
  expect(delta.script).to match_fuzzy erbh(<<-ERB)
28
- create_table("dept_emp", {:primary_key=>["emp_no", "dept_no"]}) do |t|
29
- t.column("emp_no", :"integer", {:null=>false, :limit=>4})
30
- t.column("dept_no", :"string", {:null=>false, :limit=>255})
31
- t.column("from_date", :"date", {:null=>false})
32
- t.column("to_date", :"date", {:null=>false})
33
- t.index(["dept_no"], <%= {:name=>"dept_no"} + cond(5.0, using: :btree) %>)
34
- t.index(["emp_no"], <%= {:name=>"emp_no"} + cond(5.0, using: :btree) %>)
28
+ create_table("dept_emp", **{:primary_key=>["emp_no", "dept_no"]}) do |t|
29
+ t.column("emp_no", :"integer", **{:null=>false, :limit=>4})
30
+ t.column("dept_no", :"string", **{:null=>false, :limit=>255})
31
+ t.column("from_date", :"date", **{:null=>false})
32
+ t.column("to_date", :"date", **{:null=>false})
33
+ t.index(["dept_no"], **<%= {:name=>"dept_no"} + cond(5.0, using: :btree) %>)
34
+ t.index(["emp_no"], **<%= {:name=>"emp_no"} + cond(5.0, using: :btree) %>)
35
35
  end
36
36
  ERB
37
37
 
@@ -20,11 +20,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
20
20
  expect(delta.differ?).to be_truthy
21
21
 
22
22
  expect(delta.script).to match_fuzzy <<-RUBY
23
- create_table("employee_clubs", {:options=>"ENGINE=MyISAM CHARSET=utf8"}) do |t|
24
- t.column("emp_no", :"integer", {:null=>false, :unsigned=>true, :limit=>4})
25
- t.column("club_id", :"integer", {:null=>false, :unsigned=>true, :limit=>4})
23
+ create_table("employee_clubs", **{:options=>"ENGINE=MyISAM CHARSET=utf8"}) do |t|
24
+ t.column("emp_no", :"integer", **{:null=>false, :unsigned=>true, :limit=>4})
25
+ t.column("club_id", :"integer", **{:null=>false, :unsigned=>true, :limit=>4})
26
26
  end
27
- add_index("employee_clubs", ["emp_no", "club_id"], {:name=>"idx_emp_no_club_id", :using=>:btree})
27
+ add_index("employee_clubs", ["emp_no", "club_id"], **{:name=>"idx_emp_no_club_id", :using=>:btree})
28
28
  RUBY
29
29
  }
30
30
  end
@@ -48,11 +48,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
48
48
  expect(delta.differ?).to be_truthy
49
49
 
50
50
  expect(delta.script).to match_fuzzy <<-RUBY
51
- create_table("employee_clubs", {:options=>"ENGINE=InnoDB CHARSET=utf8mb4"}) do |t|
52
- t.column("emp_no", :"integer", {:null=>false, :unsigned=>true, :limit=>4})
53
- t.column("club_id", :"integer", {:null=>false, :unsigned=>true, :limit=>4})
51
+ create_table("employee_clubs", **{:options=>"ENGINE=InnoDB CHARSET=utf8mb4"}) do |t|
52
+ t.column("emp_no", :"integer", **{:null=>false, :unsigned=>true, :limit=>4})
53
+ t.column("club_id", :"integer", **{:null=>false, :unsigned=>true, :limit=>4})
54
54
  end
55
- add_index("employee_clubs", ["emp_no", "club_id"], {:name=>"idx_emp_no_club_id", :using=>:btree})
55
+ add_index("employee_clubs", ["emp_no", "club_id"], **{:name=>"idx_emp_no_club_id", :using=>:btree})
56
56
  RUBY
57
57
  }
58
58
  end
@@ -138,23 +138,23 @@ describe 'Ridgepole::Client#diff -> migrate' do
138
138
  expect(delta.differ?).to be_truthy
139
139
  expect(subject.dump).to match_ruby actual_dsl
140
140
  expect(delta.script).to match_fuzzy <<-RUBY
141
- change_table("dept_emp", {:bulk => true}) do |t|
141
+ change_table("dept_emp", bulk: true) do |t|
142
142
  t.remove("emp_no")
143
143
  t.remove("from_date")
144
144
  t.remove("to_date")
145
145
  end
146
146
 
147
- change_table("dept_manager", {:bulk => true}) do |t|
147
+ change_table("dept_manager", bulk: true) do |t|
148
148
  t.remove("emp_no")
149
149
  t.remove("from_date")
150
150
  t.remove("to_date")
151
151
  end
152
152
 
153
- change_table("employee_clubs", {:bulk => true}) do |t|
153
+ change_table("employee_clubs", bulk: true) do |t|
154
154
  t.remove("club_id")
155
155
  end
156
156
 
157
- change_table("employees", {:bulk => true}) do |t|
157
+ change_table("employees", bulk: true) do |t|
158
158
  t.remove("last_name")
159
159
  t.remove("gender")
160
160
  t.remove("hire_date")
@@ -135,17 +135,17 @@ describe 'Ridgepole::Client#diff -> migrate' do
135
135
  expect(delta.differ?).to be_truthy
136
136
  expect(subject.dump).to match_ruby actual_dsl
137
137
  expect(delta.script).to match_fuzzy <<-RUBY
138
- change_table("dept_emp", {:bulk => true}) do |t|
138
+ change_table("dept_emp", bulk: true) do |t|
139
139
  t.remove("from_date")
140
140
  t.remove("to_date")
141
141
  end
142
142
 
143
- change_table("dept_manager", {:bulk => true}) do |t|
143
+ change_table("dept_manager", bulk: true) do |t|
144
144
  t.remove("from_date")
145
145
  t.remove("to_date")
146
146
  end
147
147
 
148
- change_table("employees", {:bulk => true}) do |t|
148
+ change_table("employees", bulk: true) do |t|
149
149
  t.remove("last_name")
150
150
  t.remove("gender")
151
151
  t.remove("hire_date")
@@ -141,16 +141,16 @@ describe 'Ridgepole::Client#diff -> migrate' do
141
141
  expect(delta.differ?).to be_truthy
142
142
  expect(subject.dump).to match_ruby actual_dsl
143
143
  expect(delta.script).to match_fuzzy <<-RUBY
144
- change_table("clubs", {:bulk => true}) do |t|
145
- t.remove_index({:name=>"idx_name"})
144
+ change_table("clubs", bulk: true) do |t|
145
+ t.remove_index(name: "idx_name")
146
146
  end
147
147
 
148
- change_table("employee_clubs", {:bulk => true}) do |t|
149
- t.remove_index({:name=>"idx_emp_no_club_id"})
148
+ change_table("employee_clubs", bulk: true) do |t|
149
+ t.remove_index(name: "idx_emp_no_club_id")
150
150
  end
151
151
 
152
- change_table("titles", {:bulk => true}) do |t|
153
- t.remove_index({:name=>"emp_no"})
152
+ change_table("titles", bulk: true) do |t|
153
+ t.remove_index(name: "emp_no")
154
154
  end
155
155
  RUBY
156
156
  delta.migrate
@@ -142,15 +142,15 @@ describe 'Ridgepole::Client#diff -> migrate' do
142
142
  expect(delta.differ?).to be_truthy
143
143
  expect(subject.dump).to match_ruby actual_dsl
144
144
  expect(delta.script).to match_fuzzy <<-RUBY
145
- change_table("dept_emp", {:bulk => true}) do |t|
145
+ change_table("dept_emp", bulk: true) do |t|
146
146
  t.rename("from_date", "from_date2")
147
147
  end
148
148
 
149
- change_table("dept_manager", {:bulk => true}) do |t|
149
+ change_table("dept_manager", bulk: true) do |t|
150
150
  t.rename("to_date", "to_date2")
151
151
  end
152
152
 
153
- change_table("employees", {:bulk => true}) do |t|
153
+ change_table("employees", bulk: true) do |t|
154
154
  t.rename("gender", "gender2")
155
155
  end
156
156
  RUBY
@@ -80,7 +80,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
80
80
  expect(subject.dump).to match_ruby actual_dsl
81
81
 
82
82
  errmsg = Regexp.new(Regexp.escape(<<-MSG.strip))
83
- 33: add_index("employee_clubs", ["emp_no", "Xclub_id"], {:name=>"idx_emp_no_club_id", :using=>:btree})
83
+ 33: add_index("employee_clubs", ["emp_no", "Xclub_id"], **{:name=>"idx_emp_no_club_id", :using=>:btree})
84
84
  MSG
85
85
 
86
86
  expect do
@@ -5,7 +5,7 @@ describe 'Ridgepole::Client (with new text/blob types)' do
5
5
  subject { client }
6
6
 
7
7
  it do
8
- delta = subject.diff(<<-RUBY)
8
+ table_def = <<-RUBY
9
9
  create_table :foos, id: :unsigned_integer do |t|
10
10
  t.blob :blob
11
11
  t.tinyblob :tiny_blob
@@ -20,6 +20,7 @@ describe 'Ridgepole::Client (with new text/blob types)' do
20
20
  t.unsigned_integer :unsigned_integer
21
21
  end
22
22
  RUBY
23
+ delta = subject.diff(table_def)
23
24
 
24
25
  expect(delta.differ?).to be_truthy
25
26
  delta.migrate
@@ -39,6 +40,8 @@ describe 'Ridgepole::Client (with new text/blob types)' do
39
40
  t.integer "unsigned_integer", unsigned: true
40
41
  end
41
42
  ERB
43
+
44
+ expect(subject.diff(table_def).differ?).to be_falsey
42
45
  end
43
46
  end
44
47
 
@@ -36,7 +36,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
36
36
  expect(delta.differ?).to be_truthy
37
37
  expect(subject.dump).to match_ruby actual_dsl
38
38
  expect(delta.script).to match_fuzzy <<-RUBY
39
- add_foreign_key("child", "parent", {:name=>"fk_rails_e74ce85cbc"})
39
+ add_foreign_key("child", "parent", **{:name=>"fk_rails_e74ce85cbc"})
40
40
  RUBY
41
41
  delta.migrate
42
42
  expect(subject.dump).to match_ruby expected_dsl