ridgepole 0.6.4 → 0.6.5.beta
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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +18 -8
- data/Appraisals +8 -0
- data/README.md +26 -2
- data/docker-compose.yml +12 -0
- data/gemfiles/activerecord_4.2.gemfile +8 -0
- data/gemfiles/activerecord_5.0.gemfile +7 -0
- data/lib/ridgepole/diff.rb +3 -1
- data/lib/ridgepole/version.rb +1 -1
- data/ridgepole.gemspec +6 -2
- data/spec/cli_helper.rb +63 -0
- data/spec/mysql/bigint_pk/bigint_pk_spec.rb +45 -0
- data/spec/mysql/cli/config_spec.rb +0 -2
- data/spec/mysql/cli/ridgepole_spec.rb +58 -56
- data/spec/mysql/collation/collation_spec.rb +134 -138
- data/spec/mysql/diff/diff2_spec.rb +1 -3
- data/spec/mysql/diff/diff_spec.rb +1 -3
- data/spec/mysql/dump/dump_class_method_spec.rb +29 -11
- data/spec/mysql/dump/dump_some_tables_spec.rb +18 -8
- data/spec/mysql/dump/dump_spec.rb +28 -10
- data/spec/mysql/dump/dump_without_table_options_spec.rb +29 -33
- data/spec/mysql/fk/migrate_change_fk_spec.rb +2 -4
- data/spec/mysql/fk/migrate_create_fk_spec.rb +39 -29
- data/spec/mysql/fk/migrate_drop_fk_spec.rb +20 -22
- data/spec/mysql/migrate/check_orphan_index_spec.rb +2 -4
- data/spec/mysql/migrate/migrate_add_column2_spec.rb +33 -26
- data/spec/mysql/migrate/migrate_add_column_spec.rb +32 -22
- data/spec/mysql/migrate/migrate_add_column_with_alter_extra_spec.rb +26 -16
- data/spec/mysql/migrate/migrate_add_column_with_script_spec.rb +27 -17
- data/spec/mysql/migrate/migrate_change_column2_spec.rb +26 -16
- data/spec/mysql/migrate/migrate_change_column3_spec.rb +54 -44
- data/spec/mysql/migrate/migrate_change_column4_spec.rb +8 -10
- data/spec/mysql/migrate/migrate_change_column5_spec.rb +32 -22
- data/spec/mysql/migrate/migrate_change_column6_spec.rb +28 -30
- data/spec/mysql/migrate/migrate_change_column_default_spec.rb +34 -36
- data/spec/mysql/migrate/migrate_change_column_float_spec.rb +10 -12
- data/spec/mysql/migrate/migrate_change_column_spec.rb +41 -29
- data/spec/mysql/migrate/migrate_change_index2_spec.rb +12 -14
- data/spec/mysql/migrate/migrate_change_index3_spec.rb +24 -26
- data/spec/mysql/migrate/migrate_change_index4_spec.rb +34 -24
- data/spec/mysql/migrate/migrate_change_index5_spec.rb +26 -16
- data/spec/mysql/migrate/migrate_change_index6_spec.rb +38 -28
- data/spec/mysql/migrate/migrate_change_index_spec.rb +39 -29
- data/spec/mysql/migrate/migrate_change_table_option_spec.rb +26 -13
- data/spec/mysql/migrate/migrate_create_index2_spec.rb +30 -20
- data/spec/mysql/migrate/migrate_create_index_spec.rb +28 -18
- data/spec/mysql/migrate/migrate_create_table_spec.rb +24 -14
- data/spec/mysql/migrate/migrate_create_table_with_options_spec.rb +4 -6
- data/spec/mysql/migrate/migrate_create_table_with_script_spec.rb +23 -13
- data/spec/mysql/migrate/migrate_drop_column_and_index2_spec.rb +32 -22
- data/spec/mysql/migrate/migrate_drop_column_and_index_spec.rb +35 -25
- data/spec/mysql/migrate/migrate_drop_column_spec.rb +36 -26
- data/spec/mysql/migrate/migrate_drop_index_spec.rb +28 -18
- data/spec/mysql/migrate/migrate_drop_table_spec.rb +29 -19
- data/spec/mysql/migrate/migrate_duplicate_index_spec.rb +2 -4
- data/spec/mysql/migrate/migrate_duplicate_table_spec.rb +2 -4
- data/spec/mysql/migrate/migrate_empty_spec.rb +24 -14
- data/spec/mysql/migrate/migrate_execute_spec.rb +78 -65
- data/spec/mysql/migrate/migrate_log_file_spec.rb +22 -12
- data/spec/mysql/migrate/migrate_merge_mode_spec.rb +31 -21
- data/spec/mysql/migrate/migrate_noop_spec.rb +55 -45
- data/spec/mysql/migrate/migrate_rename_column_spec.rb +38 -28
- data/spec/mysql/migrate/migrate_rename_table_spec.rb +43 -33
- data/spec/mysql/migrate/migrate_same_default_null_spec.rb +28 -18
- data/spec/mysql/migrate/migrate_same_spec.rb +26 -12
- data/spec/mysql/migrate/migrate_script_error_spec.rb +3 -5
- data/spec/mysql/migrate/migrate_skip_rename_column_spec.rb +30 -20
- data/spec/mysql/migrate/migrate_skip_rename_table_spec.rb +30 -20
- data/spec/mysql/migrate/migrate_with_ignore_tables_spec.rb +44 -46
- data/spec/mysql/migrate/migrate_with_pre_post_query_spec.rb +6 -8
- data/spec/mysql/migrate/migrate_with_tables_spec.rb +20 -22
- data/spec/mysql/migrate_/migrate_create_index_with_alter_spec.rb +22 -12
- data/spec/mysql/migrate_/migrate_drop_index_with_alter_spec.rb +22 -12
- data/spec/mysql/~default_name_fk/migrate_change_fk_spec.rb +8 -10
- data/spec/mysql/~default_name_fk/migrate_create_fk_spec.rb +39 -29
- data/spec/mysql/~default_name_fk/migrate_drop_fk_spec.rb +20 -22
- data/spec/postgresql/diff/diff_spec.rb +7 -9
- data/spec/postgresql/dump/dump_spec.rb +2 -4
- data/spec/postgresql/fk/migrate_change_fk_spec.rb +8 -10
- data/spec/postgresql/fk/migrate_create_fk_spec.rb +24 -26
- data/spec/postgresql/fk/migrate_drop_fk_spec.rb +21 -23
- data/spec/postgresql/migrate/migrate_add_column_spec.rb +19 -22
- data/spec/postgresql/migrate/migrate_change_column_default_spec.rb +6 -8
- data/spec/postgresql/migrate/migrate_change_column_spec.rb +17 -19
- data/spec/postgresql/migrate/migrate_change_index_spec.rb +11 -13
- data/spec/postgresql/migrate/migrate_create_table_spec.rb +6 -9
- data/spec/postgresql/migrate/migrate_drop_column_spec.rb +12 -14
- data/spec/postgresql/migrate/migrate_drop_column_with_index_spec.rb +12 -14
- data/spec/postgresql/migrate/migrate_drop_index_spec.rb +10 -12
- data/spec/postgresql/migrate/migrate_drop_table_spec.rb +7 -9
- data/spec/postgresql/migrate/migrate_ext_cols_spec.rb +6 -8
- data/spec/postgresql/migrate/migrate_rename_column_spec.rb +12 -14
- data/spec/postgresql/migrate/migrate_rename_table_spec.rb +14 -16
- data/spec/postgresql/migrate/migrate_same_spec.rb +4 -6
- data/spec/postgresql/~default_name_fk/migrate_change_fk_spec.rb +8 -10
- data/spec/postgresql/~default_name_fk/migrate_create_fk_spec.rb +24 -26
- data/spec/postgresql/~default_name_fk/migrate_drop_fk_spec.rb +20 -22
- data/spec/processing_for_travis.rb +9 -0
- data/spec/spec_condition.rb +24 -0
- data/spec/spec_const.rb +18 -0
- data/spec/spec_helper.rb +125 -196
- data/spec/string_ext.rb +0 -13
- metadata +106 -32
- data/spec/mysql/bigint_pk/bigint_pkspec.rb +0 -47
@@ -1,8 +1,7 @@
|
|
1
|
-
unless postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when change column (boolean without limit)' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "employees", primary_key: "emp_no", force: :cascade do |t|
|
7
6
|
t.date "birth_date", null: false
|
8
7
|
t.string "first_name", limit: 14, null: false
|
@@ -13,11 +12,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
13
12
|
t.datetime "updated_at", null: false
|
14
13
|
t.boolean "registered"
|
15
14
|
end
|
16
|
-
|
15
|
+
EOS
|
17
16
|
}
|
18
17
|
|
19
18
|
let(:expected_dsl) {
|
20
|
-
<<-
|
19
|
+
<<-EOS
|
21
20
|
create_table "employees", primary_key: "emp_no", force: :cascade do |t|
|
22
21
|
t.date "birth_date", null: false
|
23
22
|
t.string "first_name", limit: 14, null: false
|
@@ -28,7 +27,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
28
27
|
t.datetime "updated_at", null: false
|
29
28
|
t.boolean "registered"
|
30
29
|
end
|
31
|
-
|
30
|
+
EOS
|
32
31
|
}
|
33
32
|
|
34
33
|
before { subject.diff(actual_dsl).migrate }
|
@@ -42,7 +41,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
42
41
|
|
43
42
|
context 'when change column (boolean with limit)' do
|
44
43
|
let(:actual_dsl) {
|
45
|
-
<<-
|
44
|
+
<<-EOS
|
46
45
|
create_table "employees", primary_key: "emp_no", force: :cascade do |t|
|
47
46
|
t.date "birth_date", null: false
|
48
47
|
t.string "first_name", limit: 14, null: false
|
@@ -53,11 +52,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
53
52
|
t.datetime "updated_at", null: false
|
54
53
|
t.boolean "registered"
|
55
54
|
end
|
56
|
-
|
55
|
+
EOS
|
57
56
|
}
|
58
57
|
|
59
58
|
let(:expected_dsl) {
|
60
|
-
<<-
|
59
|
+
<<-EOS
|
61
60
|
create_table "employees", primary_key: "emp_no", force: :cascade do |t|
|
62
61
|
t.date "birth_date", null: false
|
63
62
|
t.string "first_name", limit: 14, null: false
|
@@ -68,7 +67,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
68
67
|
t.datetime "updated_at", null: false
|
69
68
|
t.boolean "registered", limit: 1
|
70
69
|
end
|
71
|
-
|
70
|
+
EOS
|
72
71
|
}
|
73
72
|
|
74
73
|
before { subject.diff(actual_dsl).migrate }
|
@@ -80,4 +79,3 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
80
79
|
}
|
81
80
|
end
|
82
81
|
end
|
83
|
-
end
|
@@ -1,9 +1,20 @@
|
|
1
|
-
unless postgresql?
|
2
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
|
+
|
3
14
|
context 'when change column (binary: blob -> varbinary)' do
|
4
15
|
let(:actual_dsl) {
|
5
|
-
<<-
|
6
|
-
create_table "employees", primary_key: "emp_no"
|
16
|
+
erbh(<<-EOS, template_variables)
|
17
|
+
create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
|
7
18
|
t.date "birth_date", null: false
|
8
19
|
t.string "first_name", limit: 14, null: false
|
9
20
|
t.string "last_name", limit: 16, null: false
|
@@ -13,12 +24,12 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
13
24
|
t.datetime "updated_at", null: false
|
14
25
|
t.binary "registered_name", limit: 65535
|
15
26
|
end
|
16
|
-
|
27
|
+
EOS
|
17
28
|
}
|
18
29
|
|
19
30
|
let(:expected_dsl) {
|
20
|
-
<<-
|
21
|
-
create_table "employees", primary_key: "emp_no"
|
31
|
+
erbh(<<-EOS, template_variables)
|
32
|
+
create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
|
22
33
|
t.date "birth_date", null: false
|
23
34
|
t.string "first_name", limit: 14, null: false
|
24
35
|
t.string "last_name", limit: 16, null: false
|
@@ -28,7 +39,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
28
39
|
t.datetime "updated_at", null: false
|
29
40
|
t.binary "registered_name", limit: 255
|
30
41
|
end
|
31
|
-
|
42
|
+
EOS
|
32
43
|
}
|
33
44
|
|
34
45
|
before { subject.diff(actual_dsl).migrate }
|
@@ -37,16 +48,16 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
37
48
|
it {
|
38
49
|
delta = subject.diff(expected_dsl)
|
39
50
|
expect(delta.differ?).to be_truthy
|
40
|
-
expect(subject.dump).to
|
51
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
41
52
|
delta.migrate
|
42
|
-
expect(subject.dump).to
|
53
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
43
54
|
}
|
44
55
|
end
|
45
56
|
|
46
57
|
context 'when change column (binary: varbinary -> blob)' do
|
47
58
|
let(:actual_dsl) {
|
48
|
-
<<-
|
49
|
-
create_table "employees", primary_key: "emp_no"
|
59
|
+
erbh(<<-EOS, template_variables)
|
60
|
+
create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
|
50
61
|
t.date "birth_date", null: false
|
51
62
|
t.string "first_name", limit: 14, null: false
|
52
63
|
t.string "last_name", limit: 16, null: false
|
@@ -56,12 +67,12 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
56
67
|
t.datetime "updated_at", null: false
|
57
68
|
t.binary "registered_name", limit: 255
|
58
69
|
end
|
59
|
-
|
70
|
+
EOS
|
60
71
|
}
|
61
72
|
|
62
73
|
let(:expected_dsl) {
|
63
|
-
<<-
|
64
|
-
create_table "employees", primary_key: "emp_no"
|
74
|
+
erbh(<<-EOS, template_variables)
|
75
|
+
create_table "employees", primary_key: "emp_no", <%= {force: :cascade}.unshift(@unsigned).i %> do |t|
|
65
76
|
t.date "birth_date", null: false
|
66
77
|
t.string "first_name", limit: 14, null: false
|
67
78
|
t.string "last_name", limit: 16, null: false
|
@@ -71,7 +82,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
71
82
|
t.datetime "updated_at", null: false
|
72
83
|
t.binary "registered_name", limit: 65535
|
73
84
|
end
|
74
|
-
|
85
|
+
EOS
|
75
86
|
}
|
76
87
|
|
77
88
|
before { subject.diff(actual_dsl).migrate }
|
@@ -80,15 +91,15 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
80
91
|
it {
|
81
92
|
delta = subject.diff(expected_dsl)
|
82
93
|
expect(delta.differ?).to be_truthy
|
83
|
-
expect(subject.dump).to
|
94
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
84
95
|
delta.migrate
|
85
|
-
expect(subject.dump).to
|
96
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
86
97
|
}
|
87
98
|
end
|
88
99
|
|
89
100
|
context 'when change column (binary without limit)' do
|
90
101
|
let(:actual_dsl) {
|
91
|
-
<<-
|
102
|
+
<<-EOS
|
92
103
|
create_table "employees", primary_key: "emp_no", force: :cascade do |t|
|
93
104
|
t.date "birth_date", null: false
|
94
105
|
t.string "first_name", limit: 14, null: false
|
@@ -99,11 +110,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
99
110
|
t.datetime "updated_at", null: false
|
100
111
|
t.binary "registered_name", limit: 65535
|
101
112
|
end
|
102
|
-
|
113
|
+
EOS
|
103
114
|
}
|
104
115
|
|
105
116
|
let(:expected_dsl) {
|
106
|
-
<<-
|
117
|
+
<<-EOS
|
107
118
|
create_table "employees", primary_key: "emp_no", force: :cascade do |t|
|
108
119
|
t.date "birth_date", null: false
|
109
120
|
t.string "first_name", limit: 14, null: false
|
@@ -114,7 +125,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
114
125
|
t.datetime "updated_at", null: false
|
115
126
|
t.binary "registered_name"
|
116
127
|
end
|
117
|
-
|
128
|
+
EOS
|
118
129
|
}
|
119
130
|
|
120
131
|
before { subject.diff(actual_dsl).migrate }
|
@@ -126,4 +137,3 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
126
137
|
}
|
127
138
|
end
|
128
139
|
end
|
129
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
unless postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when add column after id (pk: normal)' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "employees", force: :cascade do |t|
|
7
6
|
t.date "birth_date", null: false
|
8
7
|
t.string "first_name", limit: 14, null: false
|
@@ -13,11 +12,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
13
12
|
t.datetime "updated_at", null: false
|
14
13
|
t.binary "registered_name", limit: 65535
|
15
14
|
end
|
16
|
-
|
15
|
+
EOS
|
17
16
|
}
|
18
17
|
|
19
18
|
let(:expected_dsl) {
|
20
|
-
<<-
|
19
|
+
<<-EOS
|
21
20
|
create_table "employees", force: :cascade do |t|
|
22
21
|
t.string "ext_column", limit: 255, null: false
|
23
22
|
t.date "birth_date", null: false
|
@@ -29,7 +28,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
29
28
|
t.datetime "updated_at", null: false
|
30
29
|
t.binary "registered_name", limit: 255
|
31
30
|
end
|
32
|
-
|
31
|
+
EOS
|
33
32
|
}
|
34
33
|
|
35
34
|
before { subject.diff(actual_dsl).migrate }
|
@@ -38,11 +37,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
38
37
|
it {
|
39
38
|
delta = subject.diff(expected_dsl)
|
40
39
|
expect(delta.differ?).to be_truthy
|
41
|
-
expect(subject.dump).to
|
40
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
42
41
|
delta.migrate
|
43
|
-
expect(subject.dump).to
|
42
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
44
43
|
|
45
|
-
expect(show_create_table_mysql('employees')).to
|
44
|
+
expect(show_create_table_mysql('employees')).to match_fuzzy <<-EOS
|
46
45
|
CREATE TABLE `employees` (
|
47
46
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
48
47
|
`ext_column` varchar(255) NOT NULL,
|
@@ -62,7 +61,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
62
61
|
|
63
62
|
context 'when add column after id (pk: emp_id)' do
|
64
63
|
let(:actual_dsl) {
|
65
|
-
<<-
|
64
|
+
<<-EOS
|
66
65
|
create_table "employees", primary_key: "emp_id", force: :cascade do |t|
|
67
66
|
t.date "birth_date", null: false
|
68
67
|
t.string "first_name", limit: 14, null: false
|
@@ -73,11 +72,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
73
72
|
t.datetime "updated_at", null: false
|
74
73
|
t.binary "registered_name", limit: 65535
|
75
74
|
end
|
76
|
-
|
75
|
+
EOS
|
77
76
|
}
|
78
77
|
|
79
78
|
let(:expected_dsl) {
|
80
|
-
<<-
|
79
|
+
<<-EOS
|
81
80
|
create_table "employees", primary_key: "emp_id", force: :cascade do |t|
|
82
81
|
t.string "ext_column", limit: 255, null: false
|
83
82
|
t.date "birth_date", null: false
|
@@ -89,7 +88,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
89
88
|
t.datetime "updated_at", null: false
|
90
89
|
t.binary "registered_name", limit: 255
|
91
90
|
end
|
92
|
-
|
91
|
+
EOS
|
93
92
|
}
|
94
93
|
|
95
94
|
before { subject.diff(actual_dsl).migrate }
|
@@ -98,11 +97,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
98
97
|
it {
|
99
98
|
delta = subject.diff(expected_dsl)
|
100
99
|
expect(delta.differ?).to be_truthy
|
101
|
-
expect(subject.dump).to
|
100
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
102
101
|
delta.migrate
|
103
|
-
expect(subject.dump).to
|
102
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
104
103
|
|
105
|
-
expect(show_create_table_mysql('employees')).to
|
104
|
+
expect(show_create_table_mysql('employees')).to match_fuzzy <<-EOS
|
106
105
|
CREATE TABLE `employees` (
|
107
106
|
`emp_id` int(11) NOT NULL AUTO_INCREMENT,
|
108
107
|
`ext_column` varchar(255) NOT NULL,
|
@@ -122,7 +121,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
122
121
|
|
123
122
|
context 'when add column after id (pk: no pk)' do
|
124
123
|
let(:actual_dsl) {
|
125
|
-
<<-
|
124
|
+
<<-EOS
|
126
125
|
create_table "employees", id: false, force: :cascade do |t|
|
127
126
|
t.date "birth_date", null: false
|
128
127
|
t.string "first_name", limit: 14, null: false
|
@@ -133,11 +132,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
133
132
|
t.datetime "updated_at", null: false
|
134
133
|
t.binary "registered_name", limit: 65535
|
135
134
|
end
|
136
|
-
|
135
|
+
EOS
|
137
136
|
}
|
138
137
|
|
139
138
|
let(:expected_dsl) {
|
140
|
-
<<-
|
139
|
+
<<-EOS
|
141
140
|
create_table "employees", id: false, force: :cascade do |t|
|
142
141
|
t.string "ext_column", limit: 255, null: false
|
143
142
|
t.date "birth_date", null: false
|
@@ -149,7 +148,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
149
148
|
t.datetime "updated_at", null: false
|
150
149
|
t.binary "registered_name", limit: 255
|
151
150
|
end
|
152
|
-
|
151
|
+
EOS
|
153
152
|
}
|
154
153
|
|
155
154
|
before { subject.diff(actual_dsl).migrate }
|
@@ -158,11 +157,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
158
157
|
it {
|
159
158
|
delta = subject.diff(expected_dsl)
|
160
159
|
expect(delta.differ?).to be_truthy
|
161
|
-
expect(subject.dump).to
|
160
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
162
161
|
delta.migrate
|
163
|
-
expect(subject.dump).to
|
162
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
164
163
|
|
165
|
-
expect(show_create_table_mysql('employees')).to
|
164
|
+
expect(show_create_table_mysql('employees')).to match_fuzzy <<-EOS
|
166
165
|
CREATE TABLE `employees` (
|
167
166
|
`ext_column` varchar(255) NOT NULL,
|
168
167
|
`birth_date` date NOT NULL,
|
@@ -180,7 +179,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
180
179
|
|
181
180
|
context 'when add column after id (pk: with pk delta)' do
|
182
181
|
let(:actual_dsl) {
|
183
|
-
<<-
|
182
|
+
<<-EOS
|
184
183
|
create_table "employees", force: :cascade do |t|
|
185
184
|
t.date "birth_date", null: false
|
186
185
|
t.string "first_name", limit: 14, null: false
|
@@ -191,11 +190,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
191
190
|
t.datetime "updated_at", null: false
|
192
191
|
t.binary "registered_name", limit: 65535
|
193
192
|
end
|
194
|
-
|
193
|
+
EOS
|
195
194
|
}
|
196
195
|
|
197
196
|
let(:expected_dsl) {
|
198
|
-
<<-
|
197
|
+
<<-EOS
|
199
198
|
create_table "employees", primary_key: "emp_id", force: :cascade do |t|
|
200
199
|
t.string "ext_column", limit: 255, null: false
|
201
200
|
t.date "birth_date", null: false
|
@@ -207,7 +206,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
207
206
|
t.datetime "updated_at", null: false
|
208
207
|
t.binary "registered_name", limit: 255
|
209
208
|
end
|
210
|
-
|
209
|
+
EOS
|
211
210
|
}
|
212
211
|
|
213
212
|
before { subject.diff(actual_dsl).migrate }
|
@@ -216,11 +215,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
216
215
|
it {
|
217
216
|
delta = subject.diff(expected_dsl)
|
218
217
|
expect(delta.differ?).to be_truthy
|
219
|
-
expect(subject.dump).to
|
218
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
220
219
|
delta.migrate
|
221
|
-
expect(subject.dump).to
|
220
|
+
expect(subject.dump).to match_fuzzy expected_dsl.sub(/, *primary_key: *"emp_id"/, '')
|
222
221
|
|
223
|
-
expect(show_create_table_mysql('employees')).to
|
222
|
+
expect(show_create_table_mysql('employees')).to match_fuzzy <<-EOS
|
224
223
|
CREATE TABLE `employees` (
|
225
224
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
226
225
|
`ext_column` varchar(255) NOT NULL,
|
@@ -238,4 +237,3 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
238
237
|
}
|
239
238
|
end
|
240
239
|
end
|
241
|
-
end
|
@@ -1,37 +1,36 @@
|
|
1
|
-
unless postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when default:0 -> (emply)' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "salaries", id: false, force: :cascade do |t|
|
7
6
|
t.integer "emp_no", limit: 4, default: 0, null: false
|
8
7
|
t.float "salary", limit: 24, null: false
|
9
8
|
t.date "from_date", null: false
|
10
9
|
t.date "to_date", null: false
|
11
10
|
end
|
12
|
-
|
11
|
+
EOS
|
13
12
|
}
|
14
13
|
|
15
14
|
let(:expected_dsl) {
|
16
|
-
<<-
|
15
|
+
<<-EOS
|
17
16
|
create_table "salaries", id: false, force: :cascade do |t|
|
18
17
|
t.integer "emp_no", limit: 4, null: true
|
19
18
|
t.float "salary", limit: 24, null: false
|
20
19
|
t.date "from_date", null: false
|
21
20
|
t.date "to_date", null: false
|
22
21
|
end
|
23
|
-
|
22
|
+
EOS
|
24
23
|
}
|
25
24
|
|
26
25
|
let(:result_dsl) {
|
27
|
-
<<-
|
26
|
+
<<-EOS
|
28
27
|
create_table "salaries", id: false, force: :cascade do |t|
|
29
28
|
t.integer "emp_no", limit: 4
|
30
29
|
t.float "salary", limit: 24, null: false
|
31
30
|
t.date "from_date", null: false
|
32
31
|
t.date "to_date", null: false
|
33
32
|
end
|
34
|
-
|
33
|
+
EOS
|
35
34
|
}
|
36
35
|
|
37
36
|
before { subject.diff(actual_dsl).migrate }
|
@@ -40,33 +39,33 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
40
39
|
it {
|
41
40
|
delta = subject.diff(expected_dsl)
|
42
41
|
expect(delta.differ?).to be_truthy
|
43
|
-
expect(subject.dump).to
|
42
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
44
43
|
delta.migrate
|
45
|
-
expect(subject.dump).to
|
44
|
+
expect(subject.dump).to match_fuzzy result_dsl
|
46
45
|
}
|
47
46
|
end
|
48
47
|
|
49
48
|
context 'when default:0 -> (emply with null:false)' do
|
50
49
|
let(:actual_dsl) {
|
51
|
-
<<-
|
50
|
+
<<-EOS
|
52
51
|
create_table "salaries", id: false, force: :cascade do |t|
|
53
52
|
t.integer "emp_no", limit: 4, default: 0, null: false
|
54
53
|
t.float "salary", limit: 24, null: false
|
55
54
|
t.date "from_date", null: false
|
56
55
|
t.date "to_date", null: false
|
57
56
|
end
|
58
|
-
|
57
|
+
EOS
|
59
58
|
}
|
60
59
|
|
61
60
|
let(:expected_dsl) {
|
62
|
-
<<-
|
61
|
+
<<-EOS
|
63
62
|
create_table "salaries", id: false, force: :cascade do |t|
|
64
63
|
t.integer "emp_no", limit: 4, null: false
|
65
64
|
t.float "salary", limit: 24, null: false
|
66
65
|
t.date "from_date", null: false
|
67
66
|
t.date "to_date", null: false
|
68
67
|
end
|
69
|
-
|
68
|
+
EOS
|
70
69
|
}
|
71
70
|
|
72
71
|
before { subject.diff(actual_dsl).migrate }
|
@@ -75,22 +74,22 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
75
74
|
it {
|
76
75
|
delta = subject.diff(expected_dsl)
|
77
76
|
expect(delta.differ?).to be_truthy
|
78
|
-
expect(subject.dump).to
|
77
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
79
78
|
delta.migrate
|
80
|
-
expect(subject.dump).to
|
79
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
81
80
|
}
|
82
81
|
end
|
83
82
|
|
84
83
|
context 'when default:0 -> default:0' do
|
85
84
|
let(:actual_dsl) {
|
86
|
-
<<-
|
85
|
+
<<-EOS
|
87
86
|
create_table "salaries", id: false, force: :cascade do |t|
|
88
87
|
t.integer "emp_no", limit: 4, default: 0, null: false
|
89
88
|
t.float "salary", limit: 24, null: false
|
90
89
|
t.date "from_date", null: false
|
91
90
|
t.date "to_date", null: false
|
92
91
|
end
|
93
|
-
|
92
|
+
EOS
|
94
93
|
}
|
95
94
|
|
96
95
|
before { subject.diff(actual_dsl).migrate }
|
@@ -104,36 +103,36 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
104
103
|
|
105
104
|
context 'when default:0 -> default:0/null:true' do
|
106
105
|
let(:actual_dsl) {
|
107
|
-
<<-
|
106
|
+
<<-EOS
|
108
107
|
create_table "salaries", id: false, force: :cascade do |t|
|
109
108
|
t.integer "emp_no", limit: 4, default: 0, null: false
|
110
109
|
t.float "salary", limit: 24, null: false
|
111
110
|
t.date "from_date", null: false
|
112
111
|
t.date "to_date", null: false
|
113
112
|
end
|
114
|
-
|
113
|
+
EOS
|
115
114
|
}
|
116
115
|
|
117
116
|
let(:expected_dsl) {
|
118
|
-
<<-
|
117
|
+
<<-EOS
|
119
118
|
create_table "salaries", id: false, force: :cascade do |t|
|
120
119
|
t.integer "emp_no", limit: 4, default: 0, null: true
|
121
120
|
t.float "salary", limit: 24, null: false
|
122
121
|
t.date "from_date", null: false
|
123
122
|
t.date "to_date", null: false
|
124
123
|
end
|
125
|
-
|
124
|
+
EOS
|
126
125
|
}
|
127
126
|
|
128
127
|
let(:result_dsl) {
|
129
|
-
<<-
|
128
|
+
<<-EOS
|
130
129
|
create_table "salaries", id: false, force: :cascade do |t|
|
131
130
|
t.integer "emp_no", limit: 4, default: 0
|
132
131
|
t.float "salary", limit: 24, null: false
|
133
132
|
t.date "from_date", null: false
|
134
133
|
t.date "to_date", null: false
|
135
134
|
end
|
136
|
-
|
135
|
+
EOS
|
137
136
|
}
|
138
137
|
|
139
138
|
before { subject.diff(actual_dsl).migrate }
|
@@ -142,44 +141,44 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
142
141
|
it {
|
143
142
|
delta = subject.diff(expected_dsl)
|
144
143
|
expect(delta.differ?).to be_truthy
|
145
|
-
expect(subject.dump).to
|
144
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
146
145
|
delta.migrate
|
147
|
-
expect(subject.dump).to
|
146
|
+
expect(subject.dump).to match_fuzzy result_dsl
|
148
147
|
}
|
149
148
|
end
|
150
149
|
|
151
150
|
context 'when default:0/null:true -> default:nil/null:false' do
|
152
151
|
let(:actual_dsl) {
|
153
|
-
<<-
|
152
|
+
<<-EOS
|
154
153
|
create_table "salaries", id: false, force: :cascade do |t|
|
155
154
|
t.integer "emp_no", limit: 4, default: 0
|
156
155
|
t.float "salary", limit: 24, null: false
|
157
156
|
t.date "from_date", null: false
|
158
157
|
t.date "to_date", null: false
|
159
158
|
end
|
160
|
-
|
159
|
+
EOS
|
161
160
|
}
|
162
161
|
|
163
162
|
let(:expected_dsl) {
|
164
|
-
<<-
|
163
|
+
<<-EOS
|
165
164
|
create_table "salaries", id: false, force: :cascade do |t|
|
166
165
|
t.integer "emp_no", limit: 4, null: false
|
167
166
|
t.float "salary", limit: 24, null: false
|
168
167
|
t.date "from_date", null: false
|
169
168
|
t.date "to_date", null: false
|
170
169
|
end
|
171
|
-
|
170
|
+
EOS
|
172
171
|
}
|
173
172
|
|
174
173
|
let(:result_dsl) {
|
175
|
-
<<-
|
174
|
+
<<-EOS
|
176
175
|
create_table "salaries", id: false, force: :cascade do |t|
|
177
176
|
t.integer "emp_no", limit: 4, default: 0, null: false
|
178
177
|
t.float "salary", limit: 24, null: false
|
179
178
|
t.date "from_date", null: false
|
180
179
|
t.date "to_date", null: false
|
181
180
|
end
|
182
|
-
|
181
|
+
EOS
|
183
182
|
}
|
184
183
|
|
185
184
|
before { subject.diff(actual_dsl).migrate }
|
@@ -189,16 +188,15 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
189
188
|
expect(Ridgepole::Logger.instance).to receive(:warn).with('[WARNING] Table `salaries`: `default: nil` is ignored when `null: false`. Please apply twice')
|
190
189
|
delta = subject.diff(expected_dsl)
|
191
190
|
expect(delta.differ?).to be_truthy
|
192
|
-
expect(subject.dump).to
|
191
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
193
192
|
delta.migrate
|
194
|
-
expect(subject.dump).to
|
193
|
+
expect(subject.dump).to match_fuzzy result_dsl
|
195
194
|
|
196
195
|
delta = subject.diff(expected_dsl)
|
197
196
|
expect(delta.differ?).to be_truthy
|
198
|
-
expect(subject.dump).to
|
197
|
+
expect(subject.dump).to match_fuzzy result_dsl
|
199
198
|
delta.migrate
|
200
|
-
expect(subject.dump).to
|
199
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
201
200
|
}
|
202
201
|
end
|
203
202
|
end
|
204
|
-
end
|