ridgepole 0.6.5.beta → 0.6.5.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -2
  3. data/Appraisals +1 -1
  4. data/README.md +3 -1
  5. data/gemfiles/activerecord_5.0.gemfile +1 -1
  6. data/lib/ridgepole/client.rb +5 -1
  7. data/lib/ridgepole/delta.rb +21 -5
  8. data/lib/ridgepole/diff.rb +13 -2
  9. data/lib/ridgepole/dsl_parser.rb +38 -3
  10. data/lib/ridgepole/dumper.rb +2 -2
  11. data/lib/ridgepole/ext/abstract_mysql_adapter/disable_table_options.rb +21 -0
  12. data/lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb +28 -0
  13. data/lib/ridgepole/version.rb +1 -1
  14. data/ridgepole.gemspec +3 -3
  15. data/spec/erb_helper.rb +43 -0
  16. data/spec/mysql/bigint_pk/bigint_pk_spec.rb +9 -9
  17. data/spec/mysql/collation/collation_spec.rb +39 -37
  18. data/spec/mysql/default_lambda/default_lambda_spec.rb +162 -0
  19. data/spec/mysql/diff/diff2_spec.rb +10 -10
  20. data/spec/mysql/diff/diff_spec.rb +6 -6
  21. data/spec/mysql/dump/dump_class_method_spec.rb +56 -39
  22. data/spec/mysql/dump/dump_some_tables_spec.rb +21 -13
  23. data/spec/mysql/dump/dump_spec.rb +49 -36
  24. data/spec/mysql/dump/dump_without_table_options_spec.rb +27 -9
  25. data/spec/mysql/fk/migrate_change_fk_spec.rb +17 -11
  26. data/spec/mysql/fk/migrate_create_fk_spec.rb +20 -18
  27. data/spec/mysql/fk/migrate_drop_fk_spec.rb +30 -16
  28. data/spec/mysql/migrate/migrate_add_column2_spec.rb +10 -8
  29. data/spec/mysql/migrate/migrate_add_column_spec.rb +49 -61
  30. data/spec/mysql/migrate/migrate_add_column_with_alter_extra_spec.rb +46 -58
  31. data/spec/mysql/migrate/migrate_add_column_with_script_spec.rb +46 -58
  32. data/spec/mysql/migrate/migrate_change_column2_spec.rb +12 -24
  33. data/spec/mysql/migrate/migrate_change_column3_spec.rb +18 -30
  34. data/spec/mysql/migrate/migrate_change_column5_spec.rb +8 -20
  35. data/spec/mysql/migrate/migrate_change_column6_spec.rb +8 -8
  36. data/spec/mysql/migrate/migrate_change_column_default_spec.rb +20 -20
  37. data/spec/mysql/migrate/migrate_change_column_float_spec.rb +2 -2
  38. data/spec/mysql/migrate/migrate_change_column_spec.rb +54 -68
  39. data/spec/mysql/migrate/migrate_change_index2_spec.rb +14 -14
  40. data/spec/mysql/migrate/migrate_change_index3_spec.rb +28 -28
  41. data/spec/mysql/migrate/migrate_change_index4_spec.rb +26 -38
  42. data/spec/mysql/migrate/migrate_change_index5_spec.rb +20 -32
  43. data/spec/mysql/migrate/migrate_change_index6_spec.rb +63 -75
  44. data/spec/mysql/migrate/migrate_change_index_spec.rb +62 -74
  45. data/spec/mysql/migrate/migrate_change_table_option_spec.rb +8 -20
  46. data/spec/mysql/migrate/migrate_create_index2_spec.rb +98 -53
  47. data/spec/mysql/migrate/migrate_create_index_spec.rb +84 -39
  48. data/spec/mysql/migrate/migrate_create_table_spec.rb +69 -39
  49. data/spec/mysql/migrate/migrate_create_table_with_script_spec.rb +69 -39
  50. data/spec/mysql/migrate/migrate_drop_column_and_index2_spec.rb +47 -59
  51. data/spec/mysql/migrate/migrate_drop_column_and_index_spec.rb +43 -55
  52. data/spec/mysql/migrate/migrate_drop_column_spec.rb +48 -60
  53. data/spec/mysql/migrate/migrate_drop_index_spec.rb +84 -39
  54. data/spec/mysql/migrate/migrate_drop_table_spec.rb +76 -46
  55. data/spec/mysql/migrate/migrate_empty_spec.rb +24 -36
  56. data/spec/mysql/migrate/migrate_execute_spec.rb +30 -32
  57. data/spec/mysql/migrate/migrate_log_file_spec.rb +69 -39
  58. data/spec/mysql/migrate/migrate_merge_mode_spec.rb +48 -48
  59. data/spec/mysql/migrate/migrate_noop_spec.rb +23 -13
  60. data/spec/mysql/migrate/migrate_rename_column_spec.rb +48 -60
  61. data/spec/mysql/migrate/migrate_rename_table_spec.rb +56 -68
  62. data/spec/mysql/migrate/migrate_same_default_null_spec.rb +8 -20
  63. data/spec/mysql/migrate/migrate_same_spec.rb +49 -31
  64. data/spec/mysql/migrate/migrate_skip_rename_column_spec.rb +48 -60
  65. data/spec/mysql/migrate/migrate_skip_rename_table_spec.rb +48 -60
  66. data/spec/mysql/migrate/migrate_with_pre_post_query_spec.rb +34 -34
  67. data/spec/mysql/migrate_/migrate_create_index_with_alter_spec.rb +84 -39
  68. data/spec/mysql/migrate_/migrate_drop_index_with_alter_spec.rb +84 -39
  69. data/spec/mysql/text_blob_types/text_blob_types_spec.rb +84 -0
  70. data/spec/mysql/~default_name_fk/migrate_change_fk_spec.rb +14 -8
  71. data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +15 -27
  72. data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +10 -10
  73. data/spec/postgresql/dump/dump_spec.rb +40 -16
  74. data/spec/postgresql/fk/migrate_change_fk_spec.rb +6 -6
  75. data/spec/postgresql/fk/migrate_create_fk_spec.rb +11 -11
  76. data/spec/postgresql/fk/migrate_drop_fk_spec.rb +8 -8
  77. data/spec/postgresql/migrate/migrate_add_column_spec.rb +20 -20
  78. data/spec/postgresql/migrate/migrate_change_column_spec.rb +20 -20
  79. data/spec/postgresql/migrate/migrate_change_index_spec.rb +20 -20
  80. data/spec/postgresql/migrate/migrate_create_table_spec.rb +52 -12
  81. data/spec/postgresql/migrate/migrate_drop_column_spec.rb +20 -20
  82. data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +18 -18
  83. data/spec/postgresql/migrate/migrate_drop_index_spec.rb +69 -13
  84. data/spec/postgresql/migrate/migrate_drop_table_spec.rb +55 -13
  85. data/spec/postgresql/migrate/migrate_ext_cols_spec.rb +3 -1
  86. data/spec/postgresql/migrate/migrate_rename_column_spec.rb +20 -20
  87. data/spec/postgresql/migrate/migrate_rename_table_spec.rb +24 -24
  88. data/spec/postgresql/migrate/migrate_same_spec.rb +40 -16
  89. data/spec/postgresql/ridgepole_test_tables.sql +3 -0
  90. data/spec/postgresql/~default_name_fk/migrate_change_fk_spec.rb +6 -6
  91. data/spec/postgresql/~default_name_fk/migrate_create_fk_spec.rb +11 -11
  92. data/spec/postgresql/~default_name_fk/migrate_drop_fk_spec.rb +8 -8
  93. data/spec/spec_condition.rb +14 -2
  94. data/spec/spec_helper.rb +12 -11
  95. data/spec/string_ext.rb +2 -0
  96. metadata +16 -9
  97. data/lib/ridgepole/ext/abstract_mysql_adapter.rb +0 -26
@@ -1,57 +1,45 @@
1
1
  describe 'Ridgepole::Client#diff -> migrate' do
2
- let(:template_variables) {
3
- opts = {
4
- unsigned: {}
5
- }
6
-
7
- if condition(:mysql_awesome_enabled)
8
- opts[:unsigned] = {unsigned: true}
9
- end
10
-
11
- opts
12
- }
13
-
14
2
  context 'when change index' do
15
3
  let(:dsl) {
16
- erbh(<<-EOS, template_variables)
4
+ erbh(<<-EOS)
17
5
  create_table "clubs", force: :cascade do |t|
18
6
  t.string "name", default: "", null: false
19
7
  end
20
8
 
21
- add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree
9
+ <%= add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree %>
22
10
 
23
11
  create_table "departments", primary_key: "dept_no", force: :cascade do |t|
24
12
  t.string "dept_name", limit: 40, null: false
25
13
  end
26
14
 
27
- add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree
15
+ <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
28
16
 
29
17
  create_table "dept_emp", id: false, force: :cascade do |t|
30
18
  t.integer "emp_no", null: false
31
- t.string "dept_no", limit: 4, null: false
19
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
32
20
  t.date "from_date", null: false
33
21
  t.date "to_date", null: false
34
22
  end
35
23
 
36
- add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree
37
- add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree
24
+ <%= add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree %>
25
+ <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
38
26
 
39
27
  create_table "dept_manager", id: false, force: :cascade do |t|
40
- t.string "dept_no", limit: 4, null: false
28
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
41
29
  t.integer "emp_no", null: false
42
30
  t.date "from_date", null: false
43
31
  t.date "to_date", null: false
44
32
  end
45
33
 
46
- add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree
47
- add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree
34
+ <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
35
+ <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
48
36
 
49
37
  create_table "employee_clubs", force: :cascade do |t|
50
- t.integer "emp_no", <%= {null: false}.push(@unsigned).i %>
51
- t.integer "club_id", <%= {null: false}.push(@unsigned).i %>
38
+ t.integer "emp_no", <%= i {null: false} + unsigned(true) %>
39
+ t.integer "club_id", <%= i {null: false} + unsigned(true) %>
52
40
  end
53
41
 
54
- add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree
42
+ <%= add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree %>
55
43
 
56
44
  create_table "employees", primary_key: "emp_no", force: :cascade do |t|
57
45
  t.date "birth_date", null: false
@@ -68,7 +56,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
68
56
  t.date "to_date", null: false
69
57
  end
70
58
 
71
- add_index "salaries", ["emp_no"], name: "emp_no", using: :btree
59
+ <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
72
60
 
73
61
  create_table "titles", id: false, force: :cascade do |t|
74
62
  t.integer "emp_no", null: false
@@ -77,52 +65,52 @@ describe 'Ridgepole::Client#diff -> migrate' do
77
65
  t.date "to_date"
78
66
  end
79
67
 
80
- add_index "titles", ["emp_no"], name: "emp_no", using: :btree
68
+ <%= add_index "titles", ["emp_no"], name: "emp_no", using: :btree %>
81
69
  EOS
82
70
  }
83
71
 
84
72
  let(:actual_dsl) {
85
- erbh(<<-EOS, template_variables)
86
- create_table "clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
87
- t.string "name", limit: 255, default: "", null: false
73
+ erbh(<<-EOS)
74
+ create_table "clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
75
+ t.string "name", <%= i limit(255) + {default: "", null: false} %>
88
76
  end
89
77
 
90
- add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree
78
+ <%= add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree %>
91
79
 
92
- create_table "departments", primary_key: "dept_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
80
+ create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
93
81
  t.string "dept_name", limit: 40, null: false
94
82
  end
95
83
 
96
- add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree
84
+ <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
97
85
 
98
86
  create_table "dept_emp", id: false, force: :cascade do |t|
99
- t.integer "emp_no", limit: 4, null: false
100
- t.string "dept_no", limit: 4, null: false
87
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
88
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
101
89
  t.date "from_date", null: false
102
90
  t.date "to_date", null: false
103
91
  end
104
92
 
105
- add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree
106
- add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree
93
+ <%= add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree %>
94
+ <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
107
95
 
108
96
  create_table "dept_manager", id: false, force: :cascade do |t|
109
- t.string "dept_no", limit: 4, null: false
110
- t.integer "emp_no", limit: 4, null: false
97
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
98
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
111
99
  t.date "from_date", null: false
112
100
  t.date "to_date", null: false
113
101
  end
114
102
 
115
- add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree
116
- add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree
103
+ <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
104
+ <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
117
105
 
118
- create_table "employee_clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
119
- t.integer "emp_no", <%= {limit: 4, null: false}.push(@unsigned).i %>
120
- t.integer "club_id", <%= {limit: 4, null: false}.push(@unsigned).i %>
106
+ create_table "employee_clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
107
+ t.integer "emp_no", <%= i limit(4) + {null: false} + unsigned(true) %>
108
+ t.integer "club_id", <%= i limit(4) + {null: false} + unsigned(true) %>
121
109
  end
122
110
 
123
- add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree
111
+ <%= add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree %>
124
112
 
125
- create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
113
+ create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
126
114
  t.date "birth_date", null: false
127
115
  t.string "first_name", limit: 14, null: false
128
116
  t.string "last_name", limit: 16, null: false
@@ -131,67 +119,67 @@ describe 'Ridgepole::Client#diff -> migrate' do
131
119
  end
132
120
 
133
121
  create_table "salaries", id: false, force: :cascade do |t|
134
- t.integer "emp_no", limit: 4, null: false
135
- t.integer "salary", limit: 4, null: false
122
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
123
+ t.integer "salary", <%= i limit(4) + {null: false} %>
136
124
  t.date "from_date", null: false
137
125
  t.date "to_date", null: false
138
126
  end
139
127
 
140
- add_index "salaries", ["emp_no"], name: "emp_no", using: :btree
128
+ <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
141
129
 
142
130
  create_table "titles", id: false, force: :cascade do |t|
143
- t.integer "emp_no", limit: 4, null: false
131
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
144
132
  t.string "title", limit: 50, null: false
145
133
  t.date "from_date", null: false
146
134
  t.date "to_date"
147
135
  end
148
136
 
149
- add_index "titles", ["emp_no"], name: "emp_no", using: :btree
137
+ <%= add_index "titles", ["emp_no"], name: "emp_no", using: :btree %>
150
138
  EOS
151
139
  }
152
140
 
153
141
  let(:expected_dsl) {
154
- erbh(<<-EOS, template_variables)
155
- create_table "clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
156
- t.string "name", limit: 255, default: "", null: false
142
+ erbh(<<-EOS)
143
+ create_table "clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
144
+ t.string "name", <%= i limit(255) + {default: "", null: false} %>
157
145
  end
158
146
 
159
- add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree
147
+ <%= add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree %>
160
148
 
161
- create_table "departments", primary_key: "dept_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
149
+ create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
162
150
  t.string "dept_name", limit: 40, null: false
163
151
  end
164
152
 
165
- add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree
153
+ <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
166
154
 
167
155
  create_table "dept_emp", id: false, force: :cascade do |t|
168
- t.integer "emp_no", limit: 4, null: false
169
- t.string "dept_no", limit: 4, null: false
156
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
157
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
170
158
  t.date "from_date", null: false
171
159
  t.date "to_date", null: false
172
160
  end
173
161
 
174
- add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree
175
- add_index "dept_emp", ["from_date"], name: "emp_no", using: :btree
162
+ <%= add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree %>
163
+ <%= add_index "dept_emp", ["from_date"], name: "emp_no", using: :btree %>
176
164
 
177
165
  create_table "dept_manager", id: false, force: :cascade do |t|
178
- t.string "dept_no", limit: 4, null: false
179
- t.integer "emp_no", limit: 4, null: false
166
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
167
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
180
168
  t.date "from_date", null: false
181
169
  t.date "to_date", null: false
182
170
  end
183
171
 
184
- add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree
185
- add_index "dept_manager", ["from_date"], name: "emp_no", using: :btree
172
+ <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
173
+ <%= add_index "dept_manager", ["from_date"], name: "emp_no", using: :btree %>
186
174
 
187
- create_table "employee_clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
188
- t.integer "emp_no", <%= {limit: 4, null: false}.push(@unsigned).i %>
189
- t.integer "club_id", <%= {limit: 4, null: false}.push(@unsigned).i %>
175
+ create_table "employee_clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
176
+ t.integer "emp_no", <%= i limit(4) + {null: false} + unsigned(true) %>
177
+ t.integer "club_id", <%= i limit(4) + {null: false} + unsigned(true) %>
190
178
  end
191
179
 
192
- add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree
180
+ <%= add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree %>
193
181
 
194
- create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
182
+ create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
195
183
  t.date "birth_date", null: false
196
184
  t.string "first_name", limit: 14, null: false
197
185
  t.string "last_name", limit: 16, null: false
@@ -200,22 +188,22 @@ describe 'Ridgepole::Client#diff -> migrate' do
200
188
  end
201
189
 
202
190
  create_table "salaries", id: false, force: :cascade do |t|
203
- t.integer "emp_no", limit: 4, null: false
204
- t.integer "salary", limit: 4, null: false
191
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
192
+ t.integer "salary", <%= i limit(4) + {null: false} %>
205
193
  t.date "from_date", null: false
206
194
  t.date "to_date", null: false
207
195
  end
208
196
 
209
- add_index "salaries", ["from_date"], name: "emp_no", using: :btree
197
+ <%= add_index "salaries", ["from_date"], name: "emp_no", using: :btree %>
210
198
 
211
199
  create_table "titles", id: false, force: :cascade do |t|
212
- t.integer "emp_no", limit: 4, null: false
200
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
213
201
  t.string "title", limit: 50, null: false
214
202
  t.date "from_date", null: false
215
203
  t.date "to_date"
216
204
  end
217
205
 
218
- add_index "titles", ["emp_no"], name: "emp_no", using: :btree
206
+ <%= add_index "titles", ["emp_no"], name: "emp_no", using: :btree %>
219
207
  EOS
220
208
  }
221
209
 
@@ -1,20 +1,8 @@
1
1
  describe 'Ridgepole::Client#diff -> migrate' do
2
- let(:template_variables) {
3
- opts = {
4
- unsigned: {}
5
- }
6
-
7
- if condition(:mysql_awesome_enabled)
8
- opts[:unsigned] = {unsigned: true}
9
- end
10
-
11
- opts
12
- }
13
-
14
2
  context 'when change column' do
15
3
  let(:actual_dsl) {
16
- erbh(<<-EOS, template_variables)
17
- create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
4
+ erbh(<<-EOS)
5
+ create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
18
6
  t.date "birth_date", null: false
19
7
  t.string "first_name", limit: 14, null: false
20
8
  t.string "last_name", limit: 16, null: false
@@ -25,8 +13,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
25
13
  }
26
14
 
27
15
  let(:expected_dsl) {
28
- erbh(<<-EOS, template_variables)
29
- create_table "employees", primary_key: "emp_no2", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
16
+ erbh(<<-EOS)
17
+ create_table "employees", primary_key: "emp_no2", <%= i unsigned(true) + {force: :cascade} %> do |t|
30
18
  t.date "birth_date", null: false
31
19
  t.string "first_name", limit: 14, null: false
32
20
  t.string "last_name", limit: 16, null: false
@@ -41,8 +29,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
41
29
 
42
30
  it {
43
31
  expect(Ridgepole::Logger.instance).to receive(:warn).with("[WARNING] No difference of schema configuration for table `employees` but table options differ.")
44
- expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! from: <%= {primary_key: "emp_no"}.push(@unsigned) %>!, template_variables))
45
- expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! to: <%= {primary_key: "emp_no2"}.push(@unsigned) %>!, template_variables))
32
+ expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! from: <%= {primary_key: "emp_no"} + unsigned(true) %>!))
33
+ expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! to: <%= {primary_key: "emp_no2"} + unsigned(true) %>!))
46
34
  delta = subject.diff(expected_dsl)
47
35
  expect(delta.differ?).to be_falsey
48
36
  expect(subject.dump).to match_fuzzy actual_dsl
@@ -52,8 +40,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
52
40
 
53
41
  it {
54
42
  expect(Ridgepole::Logger.instance).to receive(:warn).with("[WARNING] No difference of schema configuration for table `employees` but table options differ.")
55
- expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! from: <%= {primary_key: "emp_no2"}.push(@unsigned) %>!, template_variables))
56
- expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! to: <%= {primary_key: "emp_no"}.push(@unsigned) %>!, template_variables))
43
+ expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! from: <%= {primary_key: "emp_no2"} + unsigned(true) %>!))
44
+ expect(Ridgepole::Logger.instance).to receive(:warn).with(erbh(%Q! to: <%= {primary_key: "emp_no"} + unsigned(true) %>!))
57
45
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
58
46
  expect(delta.differ?).to be_falsey
59
47
  }
@@ -1,59 +1,47 @@
1
1
  describe 'Ridgepole::Client#diff -> migrate' do
2
- let(:template_variables) {
3
- opts = {
4
- unsigned: {}
5
- }
6
-
7
- if condition(:mysql_awesome_enabled)
8
- opts[:unsigned] = {unsigned: true}
9
- end
10
-
11
- opts
12
- }
13
-
14
2
  context 'when create index (use t.index)' do
15
3
  let(:dsl) {
16
- erbh(<<-EOS, template_variables)
17
- create_table "clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
18
- t.string "name", limit: 255, default: "", null: false
4
+ erbh(<<-EOS)
5
+ create_table "clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
6
+ t.string "name", <%= i limit(255) + {default: "", null: false} %>
19
7
  end
20
8
 
21
- add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree
9
+ <%= add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree %>
22
10
 
23
- create_table "departments", primary_key: "dept_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
11
+ create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
24
12
  t.string "dept_name", limit: 40, null: false
25
13
  end
26
14
 
27
- add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree
15
+ <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
28
16
 
29
17
  create_table "dept_emp", id: false, force: :cascade do |t|
30
- t.integer "emp_no", limit: 4, null: false
31
- t.string "dept_no", limit: 4, null: false
18
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
19
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
32
20
  t.date "from_date", null: false
33
21
  t.date "to_date", null: false
34
22
  end
35
23
 
36
- add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree
37
- add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree
24
+ <%= add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree %>
25
+ <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
38
26
 
39
27
  create_table "dept_manager", id: false, force: :cascade do |t|
40
- t.string "dept_no", limit: 4, null: false
41
- t.integer "emp_no", limit: 4, null: false
28
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
29
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
42
30
  t.date "from_date", null: false
43
31
  t.date "to_date", null: false
44
32
  end
45
33
 
46
- add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree
47
- add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree
34
+ <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
35
+ <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
48
36
 
49
- create_table "employee_clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
50
- t.integer "emp_no", <%= {limit: 4, null: false}.push(@unsigned).i %>
51
- t.integer "club_id", <%= {limit: 4, null: false}.push(@unsigned).i %>
37
+ create_table "employee_clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
38
+ t.integer "emp_no", <%= i limit(4) + {null: false} + unsigned(true) %>
39
+ t.integer "club_id", <%= i limit(4) + {null: false} + unsigned(true) %>
52
40
  end
53
41
 
54
- add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree
42
+ <%= add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree %>
55
43
 
56
- create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
44
+ create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
57
45
  t.date "birth_date", null: false
58
46
  t.string "first_name", limit: 14, null: false
59
47
  t.string "last_name", limit: 16, null: false
@@ -62,47 +50,104 @@ describe 'Ridgepole::Client#diff -> migrate' do
62
50
  end
63
51
 
64
52
  create_table "salaries", id: false, force: :cascade do |t|
65
- t.integer "emp_no", limit: 4, null: false
66
- t.integer "salary", limit: 4, null: false
53
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
54
+ t.integer "salary", <%= i limit(4) + {null: false} %>
67
55
  t.date "from_date", null: false
68
56
  t.date "to_date", null: false
69
57
  end
70
58
 
71
- add_index "salaries", ["emp_no"], name: "emp_no", using: :btree
59
+ <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
72
60
 
73
61
  create_table "titles", id: false, force: :cascade do |t|
74
- t.integer "emp_no", limit: 4, null: false
62
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
75
63
  t.string "title", limit: 50, null: false
76
64
  t.date "from_date", null: false
77
65
  t.date "to_date"
78
66
  end
79
67
 
80
- add_index "titles", ["emp_no"], name: "emp_no", using: :btree
68
+ <%= add_index "titles", ["emp_no"], name: "emp_no", using: :btree %>
81
69
  EOS
82
70
  }
83
71
 
84
72
  let(:actual_dsl) {
85
- dsl.delete_add_index('clubs', ['name']).
86
- delete_add_index('employee_clubs', ['emp_no', 'club_id']).
87
- delete_add_index('titles', ['emp_no'])
73
+ erbh(<<-EOS)
74
+ create_table "clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
75
+ t.string "name", <%= i limit(255) + {default: "", null: false} %>
76
+ end
77
+
78
+ create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
79
+ t.string "dept_name", limit: 40, null: false
80
+ end
81
+
82
+ <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
83
+
84
+ create_table "dept_emp", id: false, force: :cascade do |t|
85
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
86
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
87
+ t.date "from_date", null: false
88
+ t.date "to_date", null: false
89
+ end
90
+
91
+ <%= add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree %>
92
+ <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
93
+
94
+ create_table "dept_manager", id: false, force: :cascade do |t|
95
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
96
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
97
+ t.date "from_date", null: false
98
+ t.date "to_date", null: false
99
+ end
100
+
101
+ <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
102
+ <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
103
+
104
+ create_table "employee_clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
105
+ t.integer "emp_no", <%= i limit(4) + {null: false} + unsigned(true) %>
106
+ t.integer "club_id", <%= i limit(4) + {null: false} + unsigned(true) %>
107
+ end
108
+
109
+ create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
110
+ t.date "birth_date", null: false
111
+ t.string "first_name", limit: 14, null: false
112
+ t.string "last_name", limit: 16, null: false
113
+ t.string "gender", limit: 1, null: false
114
+ t.date "hire_date", null: false
115
+ end
116
+
117
+ create_table "salaries", id: false, force: :cascade do |t|
118
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
119
+ t.integer "salary", <%= i limit(4) + {null: false} %>
120
+ t.date "from_date", null: false
121
+ t.date "to_date", null: false
122
+ end
123
+
124
+ <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
125
+
126
+ create_table "titles", id: false, force: :cascade do |t|
127
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
128
+ t.string "title", limit: 50, null: false
129
+ t.date "from_date", null: false
130
+ t.date "to_date"
131
+ end
132
+ EOS
88
133
  }
89
134
 
90
135
  let(:expected_dsl) {
91
- erbh(<<-EOS, template_variables)
92
- create_table "clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
136
+ erbh(<<-EOS)
137
+ create_table "clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
93
138
  t.string "name", limit: 255, default: "", null: false
94
139
  t.index ["name"], name: "idx_name", unique: true, using: :btree
95
140
  end
96
141
 
97
- create_table "departments", primary_key: "dept_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
142
+ create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
98
143
  t.string "dept_name", limit: 40, null: false
99
144
  end
100
145
 
101
146
  add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree
102
147
 
103
148
  create_table "dept_emp", id: false, force: :cascade do |t|
104
- t.integer "emp_no", limit: 4, null: false
105
- t.string "dept_no", limit: 4, null: false
149
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
150
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
106
151
  t.date "from_date", null: false
107
152
  t.date "to_date", null: false
108
153
  end
@@ -111,8 +156,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
111
156
  add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree
112
157
 
113
158
  create_table "dept_manager", id: false, force: :cascade do |t|
114
- t.string "dept_no", limit: 4, null: false
115
- t.integer "emp_no", limit: 4, null: false
159
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
160
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
116
161
  t.date "from_date", null: false
117
162
  t.date "to_date", null: false
118
163
  end
@@ -120,13 +165,13 @@ describe 'Ridgepole::Client#diff -> migrate' do
120
165
  add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree
121
166
  add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree
122
167
 
123
- create_table "employee_clubs", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
124
- t.integer "emp_no", <%= {limit: 4, null: false}.push(@unsigned).i %>
125
- t.integer "club_id", <%= {limit: 4, null: false}.push(@unsigned).i %>
168
+ create_table "employee_clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
169
+ t.integer "emp_no", <%= i limit(4) + {null: false} + unsigned(true) %>
170
+ t.integer "club_id", <%= i limit(4) + {null: false} + unsigned(true) %>
126
171
  t.index ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree
127
172
  end
128
173
 
129
- create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
174
+ create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
130
175
  t.date "birth_date", null: false
131
176
  t.string "first_name", limit: 14, null: false
132
177
  t.string "last_name", limit: 16, null: false
@@ -135,8 +180,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
135
180
  end
136
181
 
137
182
  create_table "salaries", id: false, force: :cascade do |t|
138
- t.integer "emp_no", limit: 4, null: false
139
- t.integer "salary", limit: 4, null: false
183
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
184
+ t.integer "salary", <%= i limit(4) + {null: false} %>
140
185
  t.date "from_date", null: false
141
186
  t.date "to_date", null: false
142
187
  end
@@ -144,7 +189,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
144
189
  add_index "salaries", ["emp_no"], name: "emp_no", using: :btree
145
190
 
146
191
  create_table "titles", id: false, force: :cascade do |t|
147
- t.integer "emp_no", limit: 4, null: false
192
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
148
193
  t.string "title", limit: 50, null: false
149
194
  t.date "from_date", null: false
150
195
  t.date "to_date"