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,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' 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,29 +50,86 @@ 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) { dsl }
@@ -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 table' 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,29 +50,71 @@ 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_create_table('clubs')
86
- .delete_create_table('employee_clubs')
87
- .delete_create_table('employees')
73
+ erbh(<<-EOS)
74
+ create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
75
+ t.string "dept_name", limit: 40, null: false
76
+ end
77
+
78
+ <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
79
+
80
+ create_table "dept_emp", id: false, force: :cascade do |t|
81
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
82
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
83
+ t.date "from_date", null: false
84
+ t.date "to_date", null: false
85
+ end
86
+
87
+ <%= add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree %>
88
+ <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
89
+
90
+ create_table "dept_manager", id: false, force: :cascade do |t|
91
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
92
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
93
+ t.date "from_date", null: false
94
+ t.date "to_date", null: false
95
+ end
96
+
97
+ <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
98
+ <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
99
+
100
+ create_table "salaries", id: false, force: :cascade do |t|
101
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
102
+ t.integer "salary", <%= i limit(4) + {null: false} %>
103
+ t.date "from_date", null: false
104
+ t.date "to_date", null: false
105
+ end
106
+
107
+ <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
108
+
109
+ create_table "titles", id: false, force: :cascade do |t|
110
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
111
+ t.string "title", limit: 50, null: false
112
+ t.date "from_date", null: false
113
+ t.date "to_date"
114
+ end
115
+
116
+ <%= add_index "titles", ["emp_no"], name: "emp_no", using: :btree %>
117
+ EOS
88
118
  }
89
119
 
90
120
  let(:expected_dsl) { dsl }
@@ -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 table' 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,29 +50,71 @@ 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_create_table('clubs')
86
- .delete_create_table('employee_clubs')
87
- .delete_create_table('employees')
73
+ erbh(<<-EOS)
74
+ create_table "departments", primary_key: "dept_no", <%= i unsigned(true) + {force: :cascade} %> do |t|
75
+ t.string "dept_name", limit: 40, null: false
76
+ end
77
+
78
+ <%= add_index "departments", ["dept_name"], name: "dept_name", unique: true, using: :btree %>
79
+
80
+ create_table "dept_emp", id: false, force: :cascade do |t|
81
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
82
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
83
+ t.date "from_date", null: false
84
+ t.date "to_date", null: false
85
+ end
86
+
87
+ <%= add_index "dept_emp", ["dept_no"], name: "dept_no", using: :btree %>
88
+ <%= add_index "dept_emp", ["emp_no"], name: "emp_no", using: :btree %>
89
+
90
+ create_table "dept_manager", id: false, force: :cascade do |t|
91
+ t.string "dept_no", <%= i limit(4) + {null: false} %>
92
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
93
+ t.date "from_date", null: false
94
+ t.date "to_date", null: false
95
+ end
96
+
97
+ <%= add_index "dept_manager", ["dept_no"], name: "dept_no", using: :btree %>
98
+ <%= add_index "dept_manager", ["emp_no"], name: "emp_no", using: :btree %>
99
+
100
+ create_table "salaries", id: false, force: :cascade do |t|
101
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
102
+ t.integer "salary", <%= i limit(4) + {null: false} %>
103
+ t.date "from_date", null: false
104
+ t.date "to_date", null: false
105
+ end
106
+
107
+ <%= add_index "salaries", ["emp_no"], name: "emp_no", using: :btree %>
108
+
109
+ create_table "titles", id: false, force: :cascade do |t|
110
+ t.integer "emp_no", <%= i limit(4) + {null: false} %>
111
+ t.string "title", limit: 50, null: false
112
+ t.date "from_date", null: false
113
+ t.date "to_date"
114
+ end
115
+
116
+ <%= add_index "titles", ["emp_no"], name: "emp_no", using: :btree %>
117
+ EOS
88
118
  }
89
119
 
90
120
  let(:expected_dsl) { dsl }