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
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when change column' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -64,11 +63,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
64
63
|
end
|
65
64
|
|
66
65
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
67
|
-
|
66
|
+
EOS
|
68
67
|
}
|
69
68
|
|
70
69
|
let(:expected_dsl) {
|
71
|
-
<<-
|
70
|
+
<<-EOS
|
72
71
|
create_table "clubs", force: :cascade do |t|
|
73
72
|
t.string "name", limit: 255, default: "", null: false
|
74
73
|
end
|
@@ -130,7 +129,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
130
129
|
end
|
131
130
|
|
132
131
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
133
|
-
|
132
|
+
EOS
|
134
133
|
}
|
135
134
|
|
136
135
|
before { subject.diff(actual_dsl).migrate }
|
@@ -139,26 +138,26 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
139
138
|
it {
|
140
139
|
delta = subject.diff(expected_dsl)
|
141
140
|
expect(delta.differ?).to be_truthy
|
142
|
-
expect(subject.dump).to
|
141
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
143
142
|
delta.migrate
|
144
|
-
expect(subject.dump).to
|
143
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
145
144
|
}
|
146
145
|
|
147
146
|
it {
|
148
|
-
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true
|
147
|
+
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
|
149
148
|
expect(delta.differ?).to be_truthy
|
150
|
-
expect(delta.script).to
|
149
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
151
150
|
change_column("employee_clubs", "club_id", :integer, {:null=>false, :default=>nil})
|
152
151
|
|
153
152
|
change_column("employees", "last_name", :string, {:limit=>16, :default=>nil})
|
154
|
-
|
153
|
+
EOS
|
155
154
|
}
|
156
155
|
|
157
156
|
it {
|
158
157
|
delta = client(:bulk_change => true).diff(expected_dsl)
|
159
158
|
expect(delta.differ?).to be_truthy
|
160
|
-
expect(subject.dump).to
|
161
|
-
expect(delta.script).to
|
159
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
160
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
162
161
|
change_table("employee_clubs", {:bulk => true}) do |t|
|
163
162
|
t.change("club_id", :integer, {:null=>true, :default=>nil})
|
164
163
|
end
|
@@ -166,29 +165,29 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
166
165
|
change_table("employees", {:bulk => true}) do |t|
|
167
166
|
t.change("last_name", :string, {:limit=>20, :default=>"XXX"})
|
168
167
|
end
|
169
|
-
|
168
|
+
EOS
|
170
169
|
delta.migrate
|
171
|
-
expect(subject.dump).to
|
170
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
172
171
|
}
|
173
172
|
end
|
174
173
|
|
175
174
|
context 'when string/text without limit (no change)' do
|
176
175
|
let(:actual_dsl) {
|
177
|
-
<<-
|
176
|
+
<<-EOS
|
178
177
|
create_table "clubs", force: :cascade do |t|
|
179
178
|
t.string "name", default: "", null: false
|
180
179
|
t.text "desc"
|
181
180
|
end
|
182
|
-
|
181
|
+
EOS
|
183
182
|
}
|
184
183
|
|
185
184
|
let(:expected_dsl) {
|
186
|
-
<<-
|
185
|
+
<<-EOS
|
187
186
|
create_table "clubs", force: :cascade do |t|
|
188
187
|
t.string "name", default: "", null: false
|
189
188
|
t.text "desc"
|
190
189
|
end
|
191
|
-
|
190
|
+
EOS
|
192
191
|
}
|
193
192
|
|
194
193
|
before { subject.diff(actual_dsl).migrate }
|
@@ -200,4 +199,3 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
200
199
|
}
|
201
200
|
end
|
202
201
|
end
|
203
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when change index' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -66,11 +65,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
66
65
|
end
|
67
66
|
|
68
67
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
69
|
-
|
68
|
+
EOS
|
70
69
|
}
|
71
70
|
|
72
71
|
let(:expected_dsl) {
|
73
|
-
<<-
|
72
|
+
<<-EOS
|
74
73
|
create_table "clubs", force: :cascade do |t|
|
75
74
|
t.string "name", limit: 255, default: "", null: false
|
76
75
|
end
|
@@ -134,7 +133,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
134
133
|
end
|
135
134
|
|
136
135
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
137
|
-
|
136
|
+
EOS
|
138
137
|
}
|
139
138
|
|
140
139
|
before { subject.diff(actual_dsl).migrate }
|
@@ -143,15 +142,15 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
143
142
|
it {
|
144
143
|
delta = subject.diff(expected_dsl)
|
145
144
|
expect(delta.differ?).to be_truthy
|
146
|
-
expect(subject.dump
|
145
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
147
146
|
delta.migrate
|
148
|
-
expect(subject.dump
|
147
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
149
148
|
}
|
150
149
|
|
151
150
|
it {
|
152
151
|
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
|
153
152
|
expect(delta.differ?).to be_truthy
|
154
|
-
expect(delta.script).to
|
153
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
155
154
|
remove_index("dept_emp", {:name=>"idx_dept_emp_emp_no"})
|
156
155
|
add_index("dept_emp", ["emp_no"], {:name=>"idx_dept_emp_emp_no", :using=>:btree, :unique=>false})
|
157
156
|
|
@@ -160,14 +159,14 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
160
159
|
|
161
160
|
remove_index("salaries", {:name=>"idx_salaries_emp_no"})
|
162
161
|
add_index("salaries", ["emp_no"], {:name=>"idx_salaries_emp_no", :using=>:btree, :unique=>false})
|
163
|
-
|
162
|
+
EOS
|
164
163
|
}
|
165
164
|
|
166
165
|
it {
|
167
166
|
delta = client(:bulk_change => true).diff(expected_dsl)
|
168
167
|
expect(delta.differ?).to be_truthy
|
169
|
-
expect(subject.dump
|
170
|
-
expect(delta.script).to
|
168
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
169
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
171
170
|
change_table("dept_emp", {:bulk => true}) do |t|
|
172
171
|
t.remove_index({:name=>"idx_dept_emp_emp_no"})
|
173
172
|
t.index(["from_date"], {:name=>"idx_dept_emp_emp_no", :using=>:btree, :unique=>false})
|
@@ -182,7 +181,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
182
181
|
t.remove_index({:name=>"idx_salaries_emp_no"})
|
183
182
|
t.index(["from_date"], {:name=>"idx_salaries_emp_no", :using=>:btree, :unique=>false})
|
184
183
|
end
|
185
|
-
|
184
|
+
EOS
|
186
185
|
|
187
186
|
expect {
|
188
187
|
delta.migrate
|
@@ -190,4 +189,3 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
190
189
|
}
|
191
190
|
end
|
192
191
|
end
|
193
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when create table' do
|
4
3
|
let(:dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -64,7 +63,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
64
63
|
end
|
65
64
|
|
66
65
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
67
|
-
|
66
|
+
EOS
|
68
67
|
}
|
69
68
|
|
70
69
|
let(:actual_dsl) {
|
@@ -81,23 +80,21 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
81
80
|
it {
|
82
81
|
delta = subject.diff(expected_dsl)
|
83
82
|
expect(delta.differ?).to be_truthy
|
84
|
-
expect(subject.dump
|
83
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
85
84
|
delta.migrate
|
86
|
-
expect(subject.dump
|
85
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
87
86
|
}
|
88
87
|
|
89
88
|
it {
|
90
89
|
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
|
91
90
|
expect(delta.differ?).to be_truthy
|
92
|
-
expect(delta.script).to
|
91
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
93
92
|
drop_table("clubs")
|
94
93
|
|
95
94
|
drop_table("employee_clubs")
|
96
95
|
|
97
96
|
drop_table("employees")
|
98
|
-
|
97
|
+
EOS
|
99
98
|
}
|
100
99
|
end
|
101
100
|
end
|
102
|
-
end
|
103
|
-
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when drop column' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -66,11 +65,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
66
65
|
end
|
67
66
|
|
68
67
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
69
|
-
|
68
|
+
EOS
|
70
69
|
}
|
71
70
|
|
72
71
|
let(:expected_dsl) {
|
73
|
-
<<-
|
72
|
+
<<-EOS
|
74
73
|
create_table "clubs", force: :cascade do |t|
|
75
74
|
t.string "name", limit: 255, default: "", null: false
|
76
75
|
end
|
@@ -128,7 +127,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
128
127
|
end
|
129
128
|
|
130
129
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
131
|
-
|
130
|
+
EOS
|
132
131
|
}
|
133
132
|
|
134
133
|
before { subject.diff(actual_dsl).migrate }
|
@@ -137,15 +136,15 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
137
136
|
it {
|
138
137
|
delta = subject.diff(expected_dsl)
|
139
138
|
expect(delta.differ?).to be_truthy
|
140
|
-
expect(subject.dump).to
|
139
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
141
140
|
delta.migrate
|
142
|
-
expect(subject.dump).to
|
141
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
143
142
|
}
|
144
143
|
|
145
144
|
it {
|
146
145
|
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
|
147
146
|
expect(delta.differ?).to be_truthy
|
148
|
-
expect(delta.script).to
|
147
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
149
148
|
add_column("dept_emp", "from_date", :date, {:null=>false, :after=>"dept_no"})
|
150
149
|
add_column("dept_emp", "to_date", :date, {:null=>false, :after=>"from_date"})
|
151
150
|
|
@@ -154,14 +153,14 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
154
153
|
|
155
154
|
add_column("employees", "last_name", :string, {:limit=>16, :null=>false, :after=>"first_name"})
|
156
155
|
add_column("employees", "hire_date", :date, {:null=>false, :after=>"last_name"})
|
157
|
-
|
156
|
+
EOS
|
158
157
|
}
|
159
158
|
|
160
159
|
it {
|
161
160
|
delta = client(:bulk_change => true).diff(expected_dsl)
|
162
161
|
expect(delta.differ?).to be_truthy
|
163
|
-
expect(subject.dump).to
|
164
|
-
expect(delta.script).to
|
162
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
163
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
165
164
|
change_table("dept_emp", {:bulk => true}) do |t|
|
166
165
|
t.remove("from_date")
|
167
166
|
t.remove("to_date")
|
@@ -176,10 +175,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
176
175
|
t.remove("last_name")
|
177
176
|
t.remove("hire_date")
|
178
177
|
end
|
179
|
-
|
178
|
+
EOS
|
180
179
|
delta.migrate
|
181
|
-
expect(subject.dump).to
|
180
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
182
181
|
}
|
183
182
|
end
|
184
183
|
end
|
185
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when drop column and index' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -66,11 +65,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
66
65
|
end
|
67
66
|
|
68
67
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
69
|
-
|
68
|
+
EOS
|
70
69
|
}
|
71
70
|
|
72
71
|
let(:expected_dsl) {
|
73
|
-
<<-
|
72
|
+
<<-EOS
|
74
73
|
create_table "clubs", force: :cascade do |t|
|
75
74
|
t.string "name", limit: 255, default: "", null: false
|
76
75
|
end
|
@@ -123,7 +122,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
123
122
|
end
|
124
123
|
|
125
124
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
126
|
-
|
125
|
+
EOS
|
127
126
|
}
|
128
127
|
|
129
128
|
before { subject.diff(actual_dsl).migrate }
|
@@ -132,24 +131,24 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
132
131
|
it {
|
133
132
|
delta = subject.diff(expected_dsl)
|
134
133
|
expect(delta.differ?).to be_truthy
|
135
|
-
expect(subject.dump).to
|
134
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
136
135
|
delta.migrate
|
137
|
-
expect(subject.dump).to
|
136
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
138
137
|
}
|
139
138
|
|
140
139
|
it {
|
141
140
|
delta = subject.diff(expected_dsl)
|
142
141
|
expect(delta.differ?).to be_truthy
|
143
|
-
expect(subject.dump).to
|
142
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
144
143
|
delta.migrate(:noop => true)
|
145
|
-
expect(subject.dump).to
|
144
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
146
145
|
}
|
147
146
|
|
148
147
|
it {
|
149
148
|
delta = client(:bulk_change => true).diff(expected_dsl)
|
150
149
|
expect(delta.differ?).to be_truthy
|
151
|
-
expect(subject.dump).to
|
152
|
-
expect(delta.script).to
|
150
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
151
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
153
152
|
change_table("dept_emp", {:bulk => true}) do |t|
|
154
153
|
t.remove("emp_no")
|
155
154
|
t.remove("from_date")
|
@@ -171,10 +170,9 @@ change_table("employees", {:bulk => true}) do |t|
|
|
171
170
|
t.remove("last_name")
|
172
171
|
t.remove("hire_date")
|
173
172
|
end
|
174
|
-
|
173
|
+
EOS
|
175
174
|
delta.migrate
|
176
|
-
expect(subject.dump).to
|
175
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
177
176
|
}
|
178
177
|
end
|
179
178
|
end
|
180
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when drop index' do
|
4
3
|
let(:dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -66,7 +65,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
66
65
|
end
|
67
66
|
|
68
67
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
69
|
-
|
68
|
+
EOS
|
70
69
|
}
|
71
70
|
|
72
71
|
let(:actual_dsl) { dsl }
|
@@ -83,28 +82,28 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
83
82
|
it {
|
84
83
|
delta = subject.diff(expected_dsl)
|
85
84
|
expect(delta.differ?).to be_truthy
|
86
|
-
expect(subject.dump).to
|
85
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
87
86
|
delta.migrate
|
88
|
-
expect(subject.dump
|
87
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
89
88
|
}
|
90
89
|
|
91
90
|
it {
|
92
91
|
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
|
93
92
|
expect(delta.differ?).to be_truthy
|
94
|
-
expect(delta.script).to
|
93
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
95
94
|
add_index("clubs", ["name"], {:name=>"idx_name", :unique=>true, :using=>:btree})
|
96
95
|
|
97
96
|
add_index("employee_clubs", ["emp_no", "club_id"], {:name=>"idx_employee_clubs_emp_no_club_id", :using=>:btree})
|
98
97
|
|
99
98
|
add_index("titles", ["emp_no"], {:name=>"idx_titles_emp_no", :using=>:btree})
|
100
|
-
|
99
|
+
EOS
|
101
100
|
}
|
102
101
|
|
103
102
|
it {
|
104
103
|
delta = client(:bulk_change => true).diff(expected_dsl)
|
105
104
|
expect(delta.differ?).to be_truthy
|
106
|
-
expect(subject.dump).to
|
107
|
-
expect(delta.script).to
|
105
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
106
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
108
107
|
change_table("clubs", {:bulk => true}) do |t|
|
109
108
|
t.remove_index({:name=>"idx_name"})
|
110
109
|
end
|
@@ -116,10 +115,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
116
115
|
change_table("titles", {:bulk => true}) do |t|
|
117
116
|
t.remove_index({:name=>"idx_titles_emp_no"})
|
118
117
|
end
|
119
|
-
|
118
|
+
EOS
|
120
119
|
delta.migrate
|
121
|
-
expect(subject.dump
|
120
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
122
121
|
}
|
123
122
|
end
|
124
123
|
end
|
125
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when drop table' do
|
4
3
|
let(:dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -66,7 +65,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
66
65
|
end
|
67
66
|
|
68
67
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
69
|
-
|
68
|
+
EOS
|
70
69
|
}
|
71
70
|
|
72
71
|
let(:actual_dsl) { dsl }
|
@@ -83,16 +82,16 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
83
82
|
it {
|
84
83
|
delta = subject.diff(expected_dsl)
|
85
84
|
expect(delta.differ?).to be_truthy
|
86
|
-
expect(subject.dump).to
|
85
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
87
86
|
delta.migrate
|
88
|
-
expect(subject.dump
|
87
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
89
88
|
}
|
90
89
|
|
91
90
|
it {
|
92
91
|
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
|
93
92
|
expect(delta.differ?).to be_truthy
|
94
|
-
expect(delta.script).to
|
95
|
-
create_table("clubs", {
|
93
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
94
|
+
create_table("clubs", {}) do |t|
|
96
95
|
t.string("name", {:limit=>255, :default=>"", :null=>false})
|
97
96
|
end
|
98
97
|
add_index("clubs", ["name"], {:name=>"idx_name", :unique=>true, :using=>:btree})
|
@@ -109,8 +108,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
109
108
|
t.string("last_name", {:limit=>16, :null=>false})
|
110
109
|
t.date("hire_date", {:null=>false})
|
111
110
|
end
|
112
|
-
|
111
|
+
EOS
|
113
112
|
}
|
114
113
|
end
|
115
114
|
end
|
116
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when add column (ext cols)' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "items", force: :cascade do |t|
|
7
6
|
t.string "name"
|
8
7
|
t.integer "price"
|
@@ -10,11 +9,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
10
9
|
t.datetime "created_at", null: false
|
11
10
|
t.datetime "updated_at", null: false
|
12
11
|
end
|
13
|
-
|
12
|
+
EOS
|
14
13
|
}
|
15
14
|
|
16
15
|
let(:expected_dsl) {
|
17
|
-
<<-
|
16
|
+
<<-EOS
|
18
17
|
create_table "items", force: :cascade do |t|
|
19
18
|
t.string "name"
|
20
19
|
t.integer "price"
|
@@ -46,7 +45,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
46
45
|
t.bit_varying "bit varying"
|
47
46
|
t.money "money", scale: 2
|
48
47
|
end
|
49
|
-
|
48
|
+
EOS
|
50
49
|
}
|
51
50
|
|
52
51
|
before { subject.diff(actual_dsl).migrate }
|
@@ -55,11 +54,10 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
55
54
|
it {
|
56
55
|
delta = subject.diff(expected_dsl)
|
57
56
|
expect(delta.differ?).to be_truthy
|
58
|
-
expect(subject.dump).to
|
57
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
59
58
|
delta.migrate
|
60
59
|
expected_dsl.sub!('t.bigint "bigint"', 't.integer "bigint", limit: 8')
|
61
|
-
expect(subject.dump).to
|
60
|
+
expect(subject.dump).to match_fuzzy expected_dsl
|
62
61
|
}
|
63
62
|
end
|
64
63
|
end
|
65
|
-
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
if postgresql?
|
2
1
|
describe 'Ridgepole::Client#diff -> migrate' do
|
3
2
|
context 'when rename column' do
|
4
3
|
let(:actual_dsl) {
|
5
|
-
<<-
|
4
|
+
<<-EOS
|
6
5
|
create_table "clubs", force: :cascade do |t|
|
7
6
|
t.string "name", limit: 255, default: "", null: false
|
8
7
|
end
|
@@ -66,11 +65,11 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
66
65
|
end
|
67
66
|
|
68
67
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
69
|
-
|
68
|
+
EOS
|
70
69
|
}
|
71
70
|
|
72
71
|
let(:expected_dsl) {
|
73
|
-
<<-
|
72
|
+
<<-EOS
|
74
73
|
create_table "clubs", force: :cascade do |t|
|
75
74
|
t.string "name", limit: 255, default: "", null: false
|
76
75
|
end
|
@@ -134,7 +133,7 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
134
133
|
end
|
135
134
|
|
136
135
|
add_index "titles", ["emp_no"], name: "idx_titles_emp_no", using: :btree
|
137
|
-
|
136
|
+
EOS
|
138
137
|
}
|
139
138
|
|
140
139
|
before { subject.diff(actual_dsl).migrate }
|
@@ -143,26 +142,26 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
143
142
|
it {
|
144
143
|
delta = subject.diff(expected_dsl)
|
145
144
|
expect(delta.differ?).to be_truthy
|
146
|
-
expect(subject.dump).to
|
145
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
147
146
|
delta.migrate
|
148
|
-
expect(subject.dump).to
|
147
|
+
expect(subject.dump).to match_fuzzy expected_dsl.gsub(/\s*,\s*renamed_from:.*$/, '')
|
149
148
|
}
|
150
149
|
|
151
150
|
it {
|
152
151
|
delta = Ridgepole::Client.diff(actual_dsl, expected_dsl, reverse: true)
|
153
152
|
expect(delta.differ?).to be_truthy
|
154
|
-
expect(delta.script).to
|
153
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
155
154
|
rename_column("dept_emp", "from_date2", "from_date")
|
156
155
|
|
157
156
|
rename_column("dept_manager", "to_date2", "to_date")
|
158
|
-
|
157
|
+
EOS
|
159
158
|
}
|
160
159
|
|
161
160
|
it {
|
162
161
|
delta = client(:bulk_change => true).diff(expected_dsl)
|
163
162
|
expect(delta.differ?).to be_truthy
|
164
|
-
expect(subject.dump).to
|
165
|
-
expect(delta.script).to
|
163
|
+
expect(subject.dump).to match_fuzzy actual_dsl
|
164
|
+
expect(delta.script).to match_fuzzy <<-EOS
|
166
165
|
change_table("dept_emp", {:bulk => true}) do |t|
|
167
166
|
t.rename("from_date", "from_date2")
|
168
167
|
end
|
@@ -170,10 +169,9 @@ describe 'Ridgepole::Client#diff -> migrate' do
|
|
170
169
|
change_table("dept_manager", {:bulk => true}) do |t|
|
171
170
|
t.rename("to_date", "to_date2")
|
172
171
|
end
|
173
|
-
|
172
|
+
EOS
|
174
173
|
delta.migrate
|
175
|
-
expect(subject.dump).to
|
174
|
+
expect(subject.dump).to match_fuzzy expected_dsl.gsub(/\s*,\s*renamed_from:.*$/, '')
|
176
175
|
}
|
177
176
|
end
|
178
177
|
end
|
179
|
-
end
|