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 | class MigrateMrDiffs < ActiveRecord::Migration | 1 | class MigrateMrDiffs < ActiveRecord::Migration |
2 | def self.up | 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 | end | 4 | end |
7 | 5 | ||
8 | def self.down | 6 | def self.down |
db/migrate/20140122122549_remove_m_rdiff_fields.rb
@@ -7,7 +7,15 @@ class RemoveMRdiffFields < ActiveRecord::Migration | @@ -7,7 +7,15 @@ class RemoveMRdiffFields < ActiveRecord::Migration | ||
7 | def down | 7 | def down |
8 | add_column :merge_requests, :st_commits, :text, null: true, limit: 2147483647 | 8 | add_column :merge_requests, :st_commits, :text, null: true, limit: 2147483647 |
9 | add_column :merge_requests, :st_diffs, :text, null: true, limit: 2147483647 | 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 | end | 20 | end |
13 | end | 21 | end |