ridgepole 0.8.4 → 0.8.9

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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=>"fk_rails_e74ce85cbc"})
53
+ remove_foreign_key("child", name: "fk_rails_e74ce85cbc")
54
54
  RUBY
55
55
  delta.migrate
56
56
  expect(subject.dump).to match_ruby expected_dsl
@@ -25,13 +25,13 @@ describe 'Ridgepole::Client#diff -> migrate (with index)', condition: '>= 5.1.0'
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", :"integer", {:null=>false, :auto_increment=>true, :limit=>4})
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", :"integer", **{:null=>false, :auto_increment=>true, :limit=>4})
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
 
@@ -148,9 +148,9 @@ describe 'Ridgepole::Client.diff' do
148
148
  delta = subject.diff(actual_dsl, expected_dsl)
149
149
  expect(delta.differ?).to be_truthy
150
150
  expect(delta.script).to match_fuzzy <<-RUBY
151
- change_column("employee_clubs", "club_id", :integer, {:null=>true, :default=>nil})
151
+ change_column("employee_clubs", "club_id", :integer, **{:null=>true, :default=>nil})
152
152
 
153
- change_column("employees", "last_name", :string, {:limit=>20, :default=>"XXX"})
153
+ change_column("employees", "last_name", :string, **{:limit=>20, :default=>"XXX"})
154
154
  RUBY
155
155
  }
156
156
  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
@@ -147,7 +147,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
147
147
  expect(delta.differ?).to be_truthy
148
148
  expect(subject.dump).to match_ruby actual_dsl
149
149
  expect(delta.script).to match_fuzzy <<-RUBY
150
- add_foreign_key("child", "parent", {})
150
+ add_foreign_key("child", "parent", **{})
151
151
  RUBY
152
152
  delta.migrate
153
153
  expect(subject.dump).to match_ruby expected_dsl
@@ -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
@@ -141,13 +141,13 @@ 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("employee_clubs", {:bulk => true}) do |t|
145
- t.column("any_col", :string, {:limit=>255, :null=>false})
144
+ change_table("employee_clubs", bulk: true) do |t|
145
+ t.column("any_col", :string, **{:limit=>255, :null=>false})
146
146
  end
147
147
 
148
- change_table("employees", {:bulk => true}) do |t|
149
- t.column("age", :integer, {:null=>false})
150
- t.column("updated_at", :date, {})
148
+ change_table("employees", bulk: true) do |t|
149
+ t.column("age", :integer, **{:null=>false})
150
+ t.column("updated_at", :date, **{})
151
151
  end
152
152
  RUBY
153
153
  delta.migrate
@@ -138,12 +138,12 @@ 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("employee_clubs", {:bulk => true}) do |t|
142
- t.change("club_id", :integer, {:null=>true, :default=>nil})
141
+ change_table("employee_clubs", bulk: true) do |t|
142
+ t.change("club_id", :integer, **{:null=>true, :default=>nil})
143
143
  end
144
144
 
145
- change_table("employees", {:bulk => true}) do |t|
146
- t.change("last_name", :string, {:limit=>20, :default=>"XXX"})
145
+ change_table("employees", bulk: true) do |t|
146
+ t.change("last_name", :string, **{:limit=>20, :default=>"XXX"})
147
147
  end
148
148
  RUBY
149
149
  delta.migrate
@@ -140,19 +140,19 @@ describe 'Ridgepole::Client#diff -> migrate' do
140
140
  expect(delta.differ?).to be_truthy
141
141
  expect(subject.dump).to match_ruby actual_dsl
142
142
  expect(delta.script).to match_fuzzy <<-RUBY
143
- change_table("dept_emp", {:bulk => true}) do |t|
144
- t.remove_index({:name=>"idx_dept_emp_emp_no"})
145
- t.index(["from_date"], {:name=>"idx_dept_emp_emp_no", :using=>:btree, :unique=>false})
143
+ change_table("dept_emp", bulk: true) do |t|
144
+ t.remove_index(name: "idx_dept_emp_emp_no")
145
+ t.index(["from_date"], **{:name=>"idx_dept_emp_emp_no", :using=>:btree, :unique=>false})
146
146
  end
147
147
 
148
- change_table("dept_manager", {:bulk => true}) do |t|
149
- t.remove_index({:name=>"idx_dept_manager_emp_no"})
150
- t.index(["from_date"], {:name=>"idx_dept_manager_emp_no", :using=>:btree, :unique=>false})
148
+ change_table("dept_manager", bulk: true) do |t|
149
+ t.remove_index(name: "idx_dept_manager_emp_no")
150
+ t.index(["from_date"], **{:name=>"idx_dept_manager_emp_no", :using=>:btree, :unique=>false})
151
151
  end
152
152
 
153
- change_table("salaries", {:bulk => true}) do |t|
154
- t.remove_index({:name=>"idx_salaries_emp_no"})
155
- t.index(["from_date"], {:name=>"idx_salaries_emp_no", :using=>:btree, :unique=>false})
153
+ change_table("salaries", bulk: true) do |t|
154
+ t.remove_index(name: "idx_salaries_emp_no")
155
+ t.index(["from_date"], **{:name=>"idx_salaries_emp_no", :using=>:btree, :unique=>false})
156
156
  end
157
157
  RUBY
158
158
 
@@ -134,17 +134,17 @@ describe 'Ridgepole::Client#diff -> migrate' do
134
134
  expect(delta.differ?).to be_truthy
135
135
  expect(subject.dump).to match_ruby actual_dsl
136
136
  expect(delta.script).to match_fuzzy <<-RUBY
137
- change_table("dept_emp", {:bulk => true}) do |t|
137
+ change_table("dept_emp", bulk: true) do |t|
138
138
  t.remove("from_date")
139
139
  t.remove("to_date")
140
140
  end
141
141
 
142
- change_table("dept_manager", {:bulk => true}) do |t|
142
+ change_table("dept_manager", bulk: true) do |t|
143
143
  t.remove("from_date")
144
144
  t.remove("to_date")
145
145
  end
146
146
 
147
- change_table("employees", {:bulk => true}) do |t|
147
+ change_table("employees", bulk: true) do |t|
148
148
  t.remove("last_name")
149
149
  t.remove("hire_date")
150
150
  end
@@ -137,24 +137,24 @@ describe 'Ridgepole::Client#diff -> migrate' do
137
137
  expect(delta.differ?).to be_truthy
138
138
  expect(subject.dump).to match_ruby actual_dsl
139
139
  expect(delta.script).to match_fuzzy erbh(<<-ERB)
140
- change_table("dept_emp", {:bulk => true}) do |t|
140
+ change_table("dept_emp", bulk: true) do |t|
141
141
  t.remove("emp_no")
142
142
  t.remove("from_date")
143
143
  t.remove("to_date")
144
144
  end
145
145
 
146
- change_table("dept_manager", {:bulk => true}) do |t|
146
+ change_table("dept_manager", bulk: true) do |t|
147
147
  t.remove("emp_no")
148
148
  t.remove("from_date")
149
149
  t.remove("to_date")
150
150
  end
151
151
 
152
- change_table("employee_clubs", {:bulk => true}) do |t|
152
+ change_table("employee_clubs", bulk: true) do |t|
153
153
  t.remove("club_id")
154
- t.index(["emp_no"], <%= {:name=>"idx_employee_clubs_emp_no"} + cond(5.0, using: :btree) %>)
154
+ t.index(["emp_no"], **<%= {:name=>"idx_employee_clubs_emp_no"} + cond(5.0, using: :btree) %>)
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("hire_date")
160
160
  end
@@ -50,7 +50,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
50
50
  specify do
51
51
  delta = subject.diff(expected_dsl)
52
52
  expect(delta).to be_differ
53
- expect(delta.script).to match_fuzzy('remove_index("users", {:name=>"index_users_on_lower_name"})')
53
+ expect(delta.script).to match_fuzzy('remove_index("users", name: "index_users_on_lower_name")')
54
54
  expect(subject.dump).to match_fuzzy(actual_dsl)
55
55
  delta.migrate
56
56
  expect(subject.dump).to match_fuzzy(expected_dsl)
@@ -139,16 +139,16 @@ describe 'Ridgepole::Client#diff -> migrate' do
139
139
  expect(delta.differ?).to be_truthy
140
140
  expect(subject.dump).to match_ruby actual_dsl
141
141
  expect(delta.script).to match_fuzzy <<-RUBY
142
- change_table("clubs", {:bulk => true}) do |t|
143
- t.remove_index({:name=>"idx_name"})
142
+ change_table("clubs", bulk: true) do |t|
143
+ t.remove_index(name: "idx_name")
144
144
  end
145
145
 
146
- change_table("employee_clubs", {:bulk => true}) do |t|
147
- t.remove_index({:name=>"idx_employee_clubs_emp_no_club_id"})
146
+ change_table("employee_clubs", bulk: true) do |t|
147
+ t.remove_index(name: "idx_employee_clubs_emp_no_club_id")
148
148
  end
149
149
 
150
- change_table("titles", {:bulk => true}) do |t|
151
- t.remove_index({:name=>"idx_titles_emp_no"})
150
+ change_table("titles", bulk: true) do |t|
151
+ t.remove_index(name: "idx_titles_emp_no")
152
152
  end
153
153
  RUBY
154
154
  delta.migrate
@@ -140,11 +140,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
140
140
  expect(delta.differ?).to be_truthy
141
141
  expect(subject.dump).to match_ruby actual_dsl
142
142
  expect(delta.script).to match_fuzzy <<-RUBY
143
- change_table("dept_emp", {:bulk => true}) do |t|
143
+ change_table("dept_emp", bulk: true) do |t|
144
144
  t.rename("from_date", "from_date2")
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.rename("to_date", "to_date2")
149
149
  end
150
150
  RUBY
@@ -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
@@ -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=>"fk_rails_e74ce85cbc"})
53
+ remove_foreign_key("child", name: "fk_rails_e74ce85cbc")
54
54
  RUBY
55
55
  delta.migrate
56
56
  expect(subject.dump).to match_ruby expected_dsl
@@ -12,10 +12,6 @@ module SpecCondition
12
12
  ENV['MYSQL57'] == '1'
13
13
  end
14
14
 
15
- def mysql_awesome_enabled?
16
- ENV['ENABLE_MYSQL_AWESOME'] == '1'
17
- end
18
-
19
15
  def activerecord_5?
20
16
  (ActiveRecord::VERSION::MAJOR >= 5) && (ActiveRecord::VERSION::MAJOR < 6)
21
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.4
4
+ version: 0.8.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-22 00:00:00.000000000 Z
11
+ date: 2020-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -286,7 +286,9 @@ files:
286
286
  - omnibus-ridgepole/package-scripts/ridgepole/postrm
287
287
  - ridgepole.gemspec
288
288
  - spec/cli_helper.rb
289
+ - spec/dsl_parser/context_spec.rb
289
290
  - spec/erb_helper.rb
291
+ - spec/fixtures/for_require_relative_spec.rb
290
292
  - spec/hide_pending_formatter.rb
291
293
  - spec/mysql/_migrate/migrate_change_table_option_spec.rb
292
294
  - spec/mysql/bigint_pk/bigint_pk_spec.rb
@@ -448,7 +450,9 @@ specification_version: 4
448
450
  summary: Ridgepole is a tool to manage DB schema.
449
451
  test_files:
450
452
  - spec/cli_helper.rb
453
+ - spec/dsl_parser/context_spec.rb
451
454
  - spec/erb_helper.rb
455
+ - spec/fixtures/for_require_relative_spec.rb
452
456
  - spec/hide_pending_formatter.rb
453
457
  - spec/mysql/_migrate/migrate_change_table_option_spec.rb
454
458
  - spec/mysql/bigint_pk/bigint_pk_spec.rb