ridgepole 0.6.6 → 0.7.0.alpha

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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -7
  3. data/Appraisals +4 -5
  4. data/README.md +3 -0
  5. data/gemfiles/activerecord_5.0.gemfile +1 -1
  6. data/gemfiles/{activerecord_4.2.gemfile → activerecord_5.1.gemfile} +1 -2
  7. data/lib/ridgepole.rb +1 -0
  8. data/lib/ridgepole/client.rb +1 -3
  9. data/lib/ridgepole/connection_adapters.rb +11 -0
  10. data/lib/ridgepole/delta.rb +5 -0
  11. data/lib/ridgepole/diff.rb +5 -10
  12. data/lib/ridgepole/dsl_parser/context.rb +1 -4
  13. data/lib/ridgepole/dumper.rb +0 -11
  14. data/lib/ridgepole/schema_statements_ext.rb +1 -1
  15. data/lib/ridgepole/version.rb +1 -1
  16. data/ridgepole.gemspec +2 -2
  17. data/ridgepole.iml +9 -0
  18. data/spec/erb_helper.rb +25 -15
  19. data/spec/mysql/bigint_pk/bigint_pk_spec.rb +15 -15
  20. data/spec/mysql/bigint_pk/int_pk_spec.rb +45 -0
  21. data/spec/mysql/cli/config_spec.rb +7 -7
  22. data/spec/mysql/cli/ridgepole_spec.rb +20 -20
  23. data/spec/mysql/collation/collation_spec.rb +40 -41
  24. data/spec/mysql/comment/comment_spec.rb +19 -19
  25. data/spec/mysql/default_lambda/default_lambda_spec.rb +3 -3
  26. data/spec/mysql/diff/diff2_spec.rb +8 -5
  27. data/spec/mysql/diff/diff_spec.rb +8 -5
  28. data/spec/mysql/dump/dump_class_method_spec.rb +18 -68
  29. data/spec/mysql/dump/dump_some_tables_spec.rb +10 -30
  30. data/spec/mysql/dump/dump_spec.rb +21 -54
  31. data/spec/mysql/dump/dump_without_table_options_spec.rb +8 -35
  32. data/spec/mysql/fk/migrate_change_fk_spec.rb +8 -8
  33. data/spec/mysql/fk/migrate_create_fk_spec.rb +21 -35
  34. data/spec/mysql/fk/migrate_drop_fk_spec.rb +16 -30
  35. data/spec/mysql/migrate/migrate_add_column2_spec.rb +3 -5
  36. data/spec/mysql/migrate/migrate_add_column_order_spec.rb +21 -39
  37. data/spec/mysql/migrate/migrate_change_column5_spec.rb +8 -8
  38. data/spec/mysql/migrate/migrate_change_column6_spec.rb +18 -18
  39. data/spec/mysql/migrate/migrate_change_column_default_spec.rb +23 -16
  40. data/spec/mysql/migrate/migrate_change_column_spec.rb +34 -34
  41. data/spec/mysql/migrate/migrate_change_index3_spec.rb +19 -9
  42. data/spec/mysql/migrate/migrate_create_index_spec.rb +32 -32
  43. data/spec/mysql/migrate/migrate_create_table_spec.rb +0 -9
  44. data/spec/mysql/migrate/migrate_drop_index_spec.rb +32 -32
  45. data/spec/mysql/migrate/migrate_drop_table_spec.rb +30 -30
  46. data/spec/mysql/migrate/migrate_execute_spec.rb +68 -81
  47. data/spec/mysql/migrate/migrate_merge_mode_spec.rb +1 -3
  48. data/spec/mysql/migrate/migrate_noop_spec.rb +34 -61
  49. data/spec/mysql/migrate/migrate_rename_table_spec.rb +3 -24
  50. data/spec/mysql/migrate/migrate_same_spec.rb +12 -45
  51. data/spec/mysql/migrate/migrate_with_ignore_tables_spec.rb +6 -6
  52. data/spec/mysql/migrate/migrate_with_tables_spec.rb +2 -2
  53. data/spec/mysql/migrate/migrate_with_verbose_log_spec.rb +1 -6
  54. data/spec/mysql/migrate_/migrate_drop_index_with_alter_spec.rb +10 -10
  55. data/spec/mysql/text_blob_types/text_blob_types_spec.rb +3 -3
  56. data/spec/mysql/~default_name_fk/migrate_change_fk_spec.rb +6 -6
  57. data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +10 -10
  58. data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +6 -6
  59. data/spec/postgresql/diff/diff_spec.rb +6 -0
  60. data/spec/postgresql/dump/dump_spec.rb +9 -33
  61. data/spec/postgresql/migrate/migrate_add_expression_index_spec.rb +3 -3
  62. data/spec/postgresql/migrate/migrate_bigint_spec.rb +10 -26
  63. data/spec/postgresql/migrate/migrate_create_table_spec.rb +0 -9
  64. data/spec/postgresql/migrate/migrate_create_table_with_default_proc_spec.rb +1 -1
  65. data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +2 -2
  66. data/spec/postgresql/migrate/migrate_drop_expression_index_spec.rb +7 -7
  67. data/spec/postgresql/migrate/migrate_drop_index_spec.rb +4 -4
  68. data/spec/postgresql/migrate/migrate_drop_table_spec.rb +3 -3
  69. data/spec/postgresql/migrate/migrate_ext_cols_spec.rb +0 -3
  70. data/spec/postgresql/migrate/migrate_same_spec.rb +9 -33
  71. data/spec/spec_condition.rb +15 -6
  72. data/spec/spec_helper.rb +2 -15
  73. metadata +14 -10
@@ -1,7 +1,7 @@
1
1
  describe 'Ridgepole::Client#diff -> migrate' do
2
2
  context 'when add column after id (pk: normal)' do
3
3
  let(:actual_dsl) {
4
- <<-EOS
4
+ erbh(<<-EOS)
5
5
  create_table "employees", force: :cascade do |t|
6
6
  t.date "birth_date", null: false
7
7
  t.string "first_name", limit: 14, null: false
@@ -10,7 +10,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
10
10
  t.date "hire_date", null: false
11
11
  t.datetime "created_at", null: false
12
12
  t.datetime "updated_at", null: false
13
- t.binary "registered_name", limit: 65535
13
+ t.binary "registered_name", <%= i cond(5.0, limit: 65535) %>
14
14
  end
15
15
  EOS
16
16
  }
@@ -18,7 +18,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
18
18
  let(:expected_dsl) {
19
19
  erbh(<<-EOS)
20
20
  create_table "employees", force: :cascade do |t|
21
- t.string "ext_column", <%= i limit(255) + {null: false} %>
21
+ t.string "ext_column", null: false
22
22
  t.date "birth_date", null: false
23
23
  t.string "first_name", limit: 14, null: false
24
24
  t.string "last_name", limit: 16, null: false
@@ -41,9 +41,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
41
41
  delta.migrate
42
42
  expect(subject.dump).to match_fuzzy expected_dsl
43
43
 
44
- expect(show_create_table_mysql('employees')).to match_fuzzy <<-EOS
44
+ expect(show_create_table_mysql('employees')).to match_fuzzy erbh(<<-EOS)
45
45
  CREATE TABLE `employees` (
46
- `id` int(11) NOT NULL AUTO_INCREMENT,
46
+ `id` <%= cond(5.1, 'bigint(20)', 'int(11)') %> NOT NULL AUTO_INCREMENT,
47
47
  `ext_column` varchar(255) NOT NULL,
48
48
  `birth_date` date NOT NULL,
49
49
  `first_name` varchar(14) NOT NULL,
@@ -61,7 +61,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
61
61
 
62
62
  context 'when add column after id (pk: emp_id)' do
63
63
  let(:actual_dsl) {
64
- <<-EOS
64
+ erbh(<<-EOS)
65
65
  create_table "employees", primary_key: "emp_id", force: :cascade do |t|
66
66
  t.date "birth_date", null: false
67
67
  t.string "first_name", limit: 14, null: false
@@ -70,7 +70,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
70
70
  t.date "hire_date", null: false
71
71
  t.datetime "created_at", null: false
72
72
  t.datetime "updated_at", null: false
73
- t.binary "registered_name", limit: 65535
73
+ t.binary "registered_name", <%= i cond(5.0, limit: 65535) %>
74
74
  end
75
75
  EOS
76
76
  }
@@ -78,7 +78,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
78
78
  let(:expected_dsl) {
79
79
  erbh(<<-EOS)
80
80
  create_table "employees", primary_key: "emp_id", force: :cascade do |t|
81
- t.string "ext_column", <%= i limit(255) + {null: false} %>
81
+ t.string "ext_column", null: false
82
82
  t.date "birth_date", null: false
83
83
  t.string "first_name", limit: 14, null: false
84
84
  t.string "last_name", limit: 16, null: false
@@ -101,9 +101,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
101
101
  delta.migrate
102
102
  expect(subject.dump).to match_fuzzy expected_dsl
103
103
 
104
- expect(show_create_table_mysql('employees')).to match_fuzzy <<-EOS
104
+ expect(show_create_table_mysql('employees')).to match_fuzzy erbh(<<-EOS)
105
105
  CREATE TABLE `employees` (
106
- `emp_id` int(11) NOT NULL AUTO_INCREMENT,
106
+ `emp_id` <%= cond(5.1, 'bigint(20)', 'int(11)') %> NOT NULL AUTO_INCREMENT,
107
107
  `ext_column` varchar(255) NOT NULL,
108
108
  `birth_date` date NOT NULL,
109
109
  `first_name` varchar(14) NOT NULL,
@@ -121,7 +121,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
121
121
 
122
122
  context 'when add column after id (pk: no pk)' do
123
123
  let(:actual_dsl) {
124
- <<-EOS
124
+ erbh(<<-EOS)
125
125
  create_table "employees", id: false, force: :cascade do |t|
126
126
  t.date "birth_date", null: false
127
127
  t.string "first_name", limit: 14, null: false
@@ -130,7 +130,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
130
130
  t.date "hire_date", null: false
131
131
  t.datetime "created_at", null: false
132
132
  t.datetime "updated_at", null: false
133
- t.binary "registered_name", limit: 65535
133
+ t.binary "registered_name", <%= i cond(5.0, limit: 65535) %>
134
134
  end
135
135
  EOS
136
136
  }
@@ -138,7 +138,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
138
138
  let(:expected_dsl) {
139
139
  erbh(<<-EOS)
140
140
  create_table "employees", id: false, force: :cascade do |t|
141
- t.string "ext_column", <%= i limit(255) + {null: false} %>
141
+ t.string "ext_column", null: false
142
142
  t.date "birth_date", null: false
143
143
  t.string "first_name", limit: 14, null: false
144
144
  t.string "last_name", limit: 16, null: false
@@ -179,7 +179,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
179
179
 
180
180
  context 'when add column after id (pk: with pk delta)' do
181
181
  let(:actual_dsl) {
182
- <<-EOS
182
+ erbh(<<-EOS)
183
183
  create_table "employees", force: :cascade do |t|
184
184
  t.date "birth_date", null: false
185
185
  t.string "first_name", limit: 14, null: false
@@ -188,7 +188,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
188
188
  t.date "hire_date", null: false
189
189
  t.datetime "created_at", null: false
190
190
  t.datetime "updated_at", null: false
191
- t.binary "registered_name", limit: 65535
191
+ t.binary "registered_name", <%= i cond(5.0, limit: 65535) %>
192
192
  end
193
193
  EOS
194
194
  }
@@ -196,7 +196,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
196
196
  let(:expected_dsl) {
197
197
  erbh(<<-EOS)
198
198
  create_table "employees", primary_key: "emp_id", force: :cascade do |t|
199
- t.string "ext_column", <%= i limit(255) + {null: false} %>
199
+ t.string "ext_column", null: false
200
200
  t.date "birth_date", null: false
201
201
  t.string "first_name", limit: 14, null: false
202
202
  t.string "last_name", limit: 16, null: false
@@ -219,9 +219,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
219
219
  delta.migrate
220
220
  expect(subject.dump).to match_fuzzy expected_dsl.sub(/, *primary_key: *"emp_id"/, '')
221
221
 
222
- expect(show_create_table_mysql('employees')).to match_fuzzy <<-EOS
222
+ expect(show_create_table_mysql('employees')).to match_fuzzy erbh(<<-EOS)
223
223
  CREATE TABLE `employees` (
224
- `id` int(11) NOT NULL AUTO_INCREMENT,
224
+ `id` <%= cond(5.1, 'bigint(20)', 'int(11)') %> NOT NULL AUTO_INCREMENT,
225
225
  `ext_column` varchar(255) NOT NULL,
226
226
  `birth_date` date NOT NULL,
227
227
  `first_name` varchar(14) NOT NULL,
@@ -3,7 +3,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
3
3
  let(:actual_dsl) {
4
4
  erbh(<<-EOS)
5
5
  create_table "salaries", id: false, force: :cascade do |t|
6
- t.integer "emp_no", <%= i limit(4) + {default: 0, null: false} %>
6
+ t.integer "emp_no", default: 0, null: false
7
7
  t.float "salary", limit: 24, null: false
8
8
  t.date "from_date", null: false
9
9
  t.date "to_date", null: false
@@ -25,7 +25,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
25
25
  let(:result_dsl) {
26
26
  erbh(<<-EOS)
27
27
  create_table "salaries", id: false, force: :cascade do |t|
28
- t.integer "emp_no", <%= i limit(4) %>
28
+ t.integer "emp_no"
29
29
  t.float "salary", limit: 24, null: false
30
30
  t.date "from_date", null: false
31
31
  t.date "to_date", null: false
@@ -49,7 +49,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
49
49
  let(:actual_dsl) {
50
50
  erbh(<<-EOS)
51
51
  create_table "salaries", id: false, force: :cascade do |t|
52
- t.integer "emp_no", <%= i limit(4) + {default: 0, null: false} %>
52
+ t.integer "emp_no", default: 0, null: false
53
53
  t.float "salary", limit: 24, null: false
54
54
  t.date "from_date", null: false
55
55
  t.date "to_date", null: false
@@ -60,7 +60,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
60
60
  let(:expected_dsl) {
61
61
  erbh(<<-EOS)
62
62
  create_table "salaries", id: false, force: :cascade do |t|
63
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
63
+ t.integer "emp_no", null: false
64
64
  t.float "salary", limit: 24, null: false
65
65
  t.date "from_date", null: false
66
66
  t.date "to_date", null: false
@@ -84,7 +84,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
84
84
  let(:actual_dsl) {
85
85
  erbh(<<-EOS)
86
86
  create_table "salaries", id: false, force: :cascade do |t|
87
- t.integer "emp_no", <%= i limit(4) + {default: 0, null: false} %>
87
+ t.integer "emp_no", default: 0, null: false
88
88
  t.float "salary", limit: 24, null: false
89
89
  t.date "from_date", null: false
90
90
  t.date "to_date", null: false
@@ -105,7 +105,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
105
105
  let(:actual_dsl) {
106
106
  erbh(<<-EOS)
107
107
  create_table "salaries", id: false, force: :cascade do |t|
108
- t.integer "emp_no", <%= i limit(4) + {default: 0, null: false} %>
108
+ t.integer "emp_no", default: 0, null: false
109
109
  t.float "salary", limit: 24, null: false
110
110
  t.date "from_date", null: false
111
111
  t.date "to_date", null: false
@@ -127,7 +127,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
127
127
  let(:result_dsl) {
128
128
  erbh(<<-EOS)
129
129
  create_table "salaries", id: false, force: :cascade do |t|
130
- t.integer "emp_no", <%= i limit(4) + {default: 0} %>
130
+ t.integer "emp_no", default: 0
131
131
  t.float "salary", limit: 24, null: false
132
132
  t.date "from_date", null: false
133
133
  t.date "to_date", null: false
@@ -151,7 +151,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
151
151
  let(:actual_dsl) {
152
152
  erbh(<<-EOS)
153
153
  create_table "salaries", id: false, force: :cascade do |t|
154
- t.integer "emp_no", <%= i limit(4) + {default: 0} %>
154
+ t.integer "emp_no", default: 0
155
155
  t.float "salary", limit: 24, null: false
156
156
  t.date "from_date", null: false
157
157
  t.date "to_date", null: false
@@ -162,7 +162,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
162
162
  let(:expected_dsl) {
163
163
  erbh(<<-EOS)
164
164
  create_table "salaries", id: false, force: :cascade do |t|
165
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
165
+ t.integer "emp_no", null: false
166
166
  t.float "salary", limit: 24, null: false
167
167
  t.date "from_date", null: false
168
168
  t.date "to_date", null: false
@@ -173,7 +173,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
173
173
  let(:result_dsl) {
174
174
  erbh(<<-EOS)
175
175
  create_table "salaries", id: false, force: :cascade do |t|
176
- t.integer "emp_no", <%= i limit(4) + {default: 0, null: false} %>
176
+ t.integer "emp_no", <%= i cond(5.0, default: 0) + {null: false} %>
177
177
  t.float "salary", limit: 24, null: false
178
178
  t.date "from_date", null: false
179
179
  t.date "to_date", null: false
@@ -185,18 +185,25 @@ describe 'Ridgepole::Client#diff -> migrate' do
185
185
  subject { client }
186
186
 
187
187
  it {
188
- expect(Ridgepole::Logger.instance).to receive(:warn).with('[WARNING] Table `salaries`: `default: nil` is ignored when `null: false`. Please apply twice')
188
+ if condition(5.0)
189
+ expect(Ridgepole::Logger.instance).to receive(:warn).with('[WARNING] Table `salaries`: `default: nil` is ignored when `null: false`. Please apply twice')
190
+ else
191
+ expect(Ridgepole::Logger.instance).to_not receive(:warn)
192
+ end
193
+
189
194
  delta = subject.diff(expected_dsl)
190
195
  expect(delta.differ?).to be_truthy
191
196
  expect(subject.dump).to match_fuzzy actual_dsl
192
197
  delta.migrate
193
198
  expect(subject.dump).to match_fuzzy result_dsl
194
199
 
195
- delta = subject.diff(expected_dsl)
196
- expect(delta.differ?).to be_truthy
197
- expect(subject.dump).to match_fuzzy result_dsl
198
- delta.migrate
199
- expect(subject.dump).to match_fuzzy expected_dsl
200
+ if condition(5.0)
201
+ delta = subject.diff(expected_dsl)
202
+ expect(delta.differ?).to be_truthy
203
+ expect(subject.dump).to match_fuzzy result_dsl
204
+ delta.migrate
205
+ expect(subject.dump).to match_fuzzy expected_dsl
206
+ end
200
207
  }
201
208
  end
202
209
  end
@@ -2,21 +2,21 @@ describe 'Ridgepole::Client#diff -> migrate' do
2
2
  context 'when change column' do
3
3
  let(:actual_dsl) {
4
4
  erbh(<<-EOS)
5
- create_table "clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
6
- t.string "name", <%= i limit(4) + {default: "", null: false} %>
5
+ create_table "clubs", force: :cascade do |t|
6
+ t.string "name", default: "", null: false
7
7
  end
8
8
 
9
9
  <%= add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree %>
10
10
 
11
- create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
11
+ create_table "departments", primary_key: "dept_no", force: :cascade do |t|
12
12
  t.string "dept_name", limit: 40, null: false
13
13
  end
14
14
 
15
15
  <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
16
16
 
17
17
  create_table "dept_emp", id: false, force: :cascade do |t|
18
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
19
- t.string "dept_no", <%= i limit(4) + {null: false} %>
18
+ t.integer "emp_no", null: false
19
+ t.string "dept_no", null: false
20
20
  t.date "from_date", null: false
21
21
  t.date "to_date", null: false
22
22
  end
@@ -25,8 +25,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
25
25
  <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
26
26
 
27
27
  create_table "dept_manager", id: false, force: :cascade do |t|
28
- t.string "dept_no", <%= i limit(4) + {null: false} %>
29
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
28
+ t.string "dept_no", null: false
29
+ t.integer "emp_no", null: false
30
30
  t.date "from_date", null: false
31
31
  t.date "to_date", null: false
32
32
  end
@@ -34,14 +34,14 @@ describe 'Ridgepole::Client#diff -> migrate' do
34
34
  <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
35
35
  <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
36
36
 
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) %>
37
+ create_table "employee_clubs", force: :cascade do |t|
38
+ t.integer "emp_no", null: false
39
+ t.integer "club_id", null: false
40
40
  end
41
41
 
42
42
  <%= add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree %>
43
43
 
44
- create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
44
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
45
45
  t.date "birth_date", null: false
46
46
  t.string "first_name", limit: 14, null: false
47
47
  t.string "last_name", limit: 16, null: false
@@ -50,8 +50,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
50
50
  end
51
51
 
52
52
  create_table "salaries", id: false, force: :cascade do |t|
53
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
54
- t.integer "salary", <%= i limit(4) + {null: false} %>
53
+ t.integer "emp_no", null: false
54
+ t.integer "salary", null: false
55
55
  t.date "from_date", null: false
56
56
  t.date "to_date", null: false
57
57
  end
@@ -59,7 +59,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
59
59
  <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
60
60
 
61
61
  create_table "titles", id: false, force: :cascade do |t|
62
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
62
+ t.integer "emp_no", null: false
63
63
  t.string "title", limit: 50, null: false
64
64
  t.date "from_date", null: false
65
65
  t.date "to_date"
@@ -71,21 +71,21 @@ describe 'Ridgepole::Client#diff -> migrate' do
71
71
 
72
72
  let(:expected_dsl) {
73
73
  erbh(<<-EOS)
74
- create_table "clubs", <%= i unsigned(true) + {force: :cascade} %> do |t|
75
- t.string "name", <%= i limit(4) + {default: "", null: false} %>
74
+ create_table "clubs", force: :cascade do |t|
75
+ t.string "name", default: "", null: false
76
76
  end
77
77
 
78
78
  <%= add_index "clubs", ["name"], name: "idx_name", unique: true, using: :btree %>
79
79
 
80
- create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
80
+ create_table "departments", primary_key: "dept_no", force: :cascade do |t|
81
81
  t.string "dept_name", limit: 40, null: false
82
82
  end
83
83
 
84
84
  <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
85
85
 
86
86
  create_table "dept_emp", id: false, force: :cascade do |t|
87
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
88
- t.string "dept_no", <%= i limit(4) + {null: false} %>
87
+ t.integer "emp_no", null: false
88
+ t.string "dept_no", null: false
89
89
  t.date "from_date", null: false
90
90
  t.date "to_date", null: false
91
91
  end
@@ -94,8 +94,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
94
94
  <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
95
95
 
96
96
  create_table "dept_manager", id: false, force: :cascade do |t|
97
- t.string "dept_no", <%= i limit(4) + {null: false} %>
98
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
97
+ t.string "dept_no", null: false
98
+ t.integer "emp_no", null: false
99
99
  t.date "from_date", null: false
100
100
  t.date "to_date", null: false
101
101
  end
@@ -103,14 +103,14 @@ describe 'Ridgepole::Client#diff -> migrate' do
103
103
  <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
104
104
  <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
105
105
 
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) %>
106
+ create_table "employee_clubs", force: :cascade do |t|
107
+ t.integer "emp_no", null: false
108
+ t.integer "club_id"
109
109
  end
110
110
 
111
111
  <%= add_index "employee_clubs", ["emp_no", "club_id"], name: "idx_emp_no_club_id", using: :btree %>
112
112
 
113
- create_table "employees", primary_key: "emp_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
113
+ create_table "employees", primary_key: "emp_no", force: :cascade do |t|
114
114
  t.date "birth_date", null: false
115
115
  t.string "first_name", limit: 14, null: false
116
116
  t.string "last_name", limit: 20, default: "XXX", null: false
@@ -119,8 +119,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
119
119
  end
120
120
 
121
121
  create_table "salaries", id: false, force: :cascade do |t|
122
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
123
- t.integer "salary", <%= i limit(4) + {null: false} %>
122
+ t.integer "emp_no", null: false
123
+ t.integer "salary", null: false
124
124
  t.date "from_date", null: false
125
125
  t.date "to_date", null: false
126
126
  end
@@ -128,7 +128,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
128
128
  <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
129
129
 
130
130
  create_table "titles", id: false, force: :cascade do |t|
131
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
131
+ t.integer "emp_no", null: false
132
132
  t.string "title", limit: 50, null: false
133
133
  t.date "from_date", null: false
134
134
  t.date "to_date"
@@ -153,10 +153,10 @@ describe 'Ridgepole::Client#diff -> migrate' do
153
153
  delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true, enable_mysql_unsigned: true)
154
154
  expect(delta.differ?).to be_truthy
155
155
  expect(delta.script).to match_fuzzy erbh(<<-EOS)
156
- change_column("employee_clubs", "club_id", :integer, <%= {null: false} + unsigned(true) + {default: nil} %>)
156
+ change_column("employee_clubs", "club_id", :integer, <%= {:null=>false, :default=>nil} + cond(5.1, comment: nil) %>)
157
157
 
158
- change_column("employees", "last_name", :string, {:limit=>16, :default=>nil})
159
- change_column("employees", "gender", :string, {:limit=>1, :null=>false, :default=>nil})
158
+ change_column("employees", "last_name", :string,<%= {:limit=>16, :default=>nil} + cond(5.1, comment: nil) %>)
159
+ change_column("employees", "gender", :string,<%= {:limit=>1, :null=>false, :default=>nil} + cond(5.1, comment: nil) %>)
160
160
  EOS
161
161
  }
162
162
 
@@ -166,12 +166,12 @@ describe 'Ridgepole::Client#diff -> migrate' do
166
166
  expect(subject.dump).to match_fuzzy actual_dsl
167
167
  expect(delta.script).to match_fuzzy erbh(<<-EOS)
168
168
  change_table("employee_clubs", {:bulk => true}) do |t|
169
- t.change("club_id", :integer, <%= {null: true, default: nil} + unsigned(false) %>)
169
+ t.change("club_id", :integer, <%= {:null=>true, :default=>nil} + cond(5.1, comment: nil) %>)
170
170
  end
171
171
 
172
172
  change_table("employees", {:bulk => true}) do |t|
173
- t.change("last_name", :string, <%= {limit: 20, default: "XXX"} + unsigned(false) %>)
174
- t.change("gender", :string, <%= {limit: 2, null: false, default: nil} + unsigned(false) %>)
173
+ t.change("last_name", :string, <%= {:limit=>20, :default=>"XXX"} + cond(5.1, comment: nil) %>)
174
+ t.change("gender", :string, <%= {:limit=>2, :null=>false, :default=>nil} + cond(5.1, comment: nil) %>)
175
175
  end
176
176
  EOS
177
177
  delta.migrate
@@ -39,8 +39,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
39
39
  let(:actual_dsl) {
40
40
  erbh(<<-EOS)
41
41
  create_table "salaries", id: false, force: :cascade do |t|
42
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
43
- t.integer "salary", <%= i limit(4) + {null: false} %>
42
+ t.integer "emp_no", null: false
43
+ t.integer "salary", null: false
44
44
  t.date "from_date", null: false
45
45
  t.date "to_date", null: false
46
46
  end
@@ -65,8 +65,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
65
65
  let(:expected_dsl) {
66
66
  erbh(<<-EOS)
67
67
  create_table "salaries", id: false, force: :cascade do |t|
68
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
69
- t.integer "salary", <%= i limit(4) + {null: false} %>
68
+ t.integer "emp_no", null: false
69
+ t.integer "salary", null: false
70
70
  t.date "from_date", null: false
71
71
  t.date "to_date", null: false
72
72
  end
@@ -75,7 +75,17 @@ describe 'Ridgepole::Client#diff -> migrate' do
75
75
  EOS
76
76
  }
77
77
 
78
- before { subject.diff(actual_dsl).migrate }
78
+ before { subject.diff( <<-EOS).migrate }
79
+ create_table "salaries", id: false, force: :cascade do |t|
80
+ t.integer "emp_no", null: false
81
+ t.integer "salary", null: false
82
+ t.date "from_date", null: false
83
+ t.date "to_date", null: false
84
+ end
85
+
86
+ add_index "salaries", ["emp_no"], name: "emp_no", using: :btree
87
+ EOS
88
+
79
89
  subject { client(:table_options => 'ENGINE=MEMORY') }
80
90
 
81
91
  it {
@@ -127,8 +137,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
127
137
  let(:actual_dsl) {
128
138
  erbh(<<-EOS)
129
139
  create_table "salaries", id: false, force: :cascade do |t|
130
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
131
- t.integer "salary", <%= i limit(4) + {null: false} %>
140
+ t.integer "emp_no", null: false
141
+ t.integer "salary", null: false
132
142
  t.date "from_date", null: false
133
143
  t.date "to_date", null: false
134
144
  end
@@ -153,8 +163,8 @@ describe 'Ridgepole::Client#diff -> migrate' do
153
163
  let(:expected_dsl) {
154
164
  erbh(<<-EOS)
155
165
  create_table "salaries", id: false, force: :cascade do |t|
156
- t.integer "emp_no", <%= i limit(4) + {null: false} %>
157
- t.integer "salary", <%= i limit(4) + {null: false} %>
166
+ t.integer "emp_no", null: false
167
+ t.integer "salary", null: false
158
168
  t.date "from_date", null: false
159
169
  t.date "to_date", null: false
160
170
  end