ridgepole 0.6.6 → 0.7.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
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