Commit 4125de5ef1c694f65b038b4a4b17de7adcdeef78
1 parent
5221dbfe
Exists in
spb-stable
and in
3 other branches
Fix merge_request_diffs migrations for postgresql
Showing
2 changed files
with
11 additions
and
5 deletions
Show diff stats
db/migrate/20140122114406_migrate_mr_diffs.rb
1 | 1 | class MigrateMrDiffs < ActiveRecord::Migration |
2 | 2 | def self.up |
3 | - execute "INSERT INTO merge_request_diffs ( merge_request_id ) SELECT id FROM merge_requests" | |
4 | - execute "UPDATE merge_requests mr, merge_request_diffs md SET md.st_commits = mr.st_commits WHERE md.merge_request_id = mr.id" | |
5 | - execute "UPDATE merge_requests mr, merge_request_diffs md SET md.st_diffs = mr.st_diffs WHERE md.merge_request_id = mr.id" | |
3 | + execute "INSERT INTO merge_request_diffs ( merge_request_id, st_commits, st_diffs ) SELECT id, st_commits, st_diffs FROM merge_requests" | |
6 | 4 | end |
7 | 5 | |
8 | 6 | def self.down | ... | ... |
db/migrate/20140122122549_remove_m_rdiff_fields.rb
... | ... | @@ -7,7 +7,15 @@ class RemoveMRdiffFields < ActiveRecord::Migration |
7 | 7 | def down |
8 | 8 | add_column :merge_requests, :st_commits, :text, null: true, limit: 2147483647 |
9 | 9 | add_column :merge_requests, :st_diffs, :text, null: true, limit: 2147483647 |
10 | - execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_commits = md.st_commits WHERE md.merge_request_id = mr.id" | |
11 | - execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_diffs = md.st_diffs WHERE md.merge_request_id = mr.id" | |
10 | + | |
11 | + if ActiveRecord::Base.connection.adapter_name == 'PostgreSQL' | |
12 | + execute "UPDATE merge_requests mr | |
13 | + SET (st_commits, st_diffs) = (md.st_commits, md.st_diffs) | |
14 | + FROM merge_request_diffs md | |
15 | + WHERE md.merge_request_id = mr.id" | |
16 | + else | |
17 | + execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_commits = md.st_commits WHERE md.merge_request_id = mr.id" | |
18 | + execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_diffs = md.st_diffs WHERE md.merge_request_id = mr.id" | |
19 | + end | |
12 | 20 | end |
13 | 21 | end | ... | ... |