Skip to content

Commit 845ae5e

Browse files
committed
Redo migration to deal with PostGreSQL (no rescue)
1 parent ae9c759 commit 845ae5e

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

Diff for: db/migrate/20120904060609_update_multi_repo_per_project.rb

+20-22
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
class UpdateMultiRepoPerProject < ActiveRecord::Migration
22
def self.up
3-
begin
3+
if !columns("repository_mirrors").index{|x| x.name=="repository_id"}
44
add_column :repository_mirrors, :repository_id, :integer
55
begin
66
say "Detaching repository mirrors from projects; attaching them to repositories..."
@@ -9,16 +9,16 @@ def self.up
99
mirror.save!
1010
end
1111
say "Success. Changed #{RepositoryMirror.all.count} records."
12-
remove_column :repository_mirrors, :project_id rescue nil
1312
rescue => e
1413
say "Failed to attach repository mirrors to repositories."
1514
say "Error: #{e.message}"
16-
remove_column :repository_mirrors, :repository_id rescue nil
1715
end
18-
rescue
16+
if columns("repository_mirrors").index{|x| x.name=="project_id"}
17+
remove_column :repository_mirrors, :project_id
18+
end
1919
end
2020

21-
begin
21+
if !columns("repository_post_receive_urls").index{|x| x.name=="repository_id"}
2222
add_column :repository_post_receive_urls, :repository_id, :integer
2323
begin
2424
say "Detaching repository post-receive-urls from projects; attaching them to repositories..."
@@ -27,20 +27,19 @@ def self.up
2727
prurl.save!
2828
end
2929
say "Success. Changed #{RepositoryPostReceiveUrl.all.count} records."
30-
remove_column :repository_post_receive_urls, :project_id rescue nil
3130
rescue => e
3231
say "Failed to attach repositories post-receive-urls to repositories."
3332
say "Error: #{e.message}"
34-
remove_column :repository_post_receive_urls, :repository_id rescue nil
3533
end
36-
rescue
34+
if columns("repository_post_receive_urls").index{|x| x.name=="project_id"}
35+
remove_column :repository_post_receive_urls, :project_id
36+
end
3737
end
3838

3939
add_index :projects, [:identifier]
40-
begin
40+
if columns("repositories").index{|x| x.name=="identifier"}
4141
add_index :repositories, [:identifier]
4242
add_index :repositories, [:identifier, :project_id]
43-
rescue
4443
end
4544
rename_column :git_caches, :proj_identifier, :repo_identifier
4645

@@ -51,7 +50,7 @@ def self.up
5150
h[x]+=1 unless x.blank?
5251
h
5352
end.values.max) || 0) > 1
54-
# Oops -- have duplication. Force to false.
53+
# Oops -- have duplication. Force to false.
5554
valuehash['gitRepositoryIdentUnique'] = "false"
5655
else
5756
# If no duplication -- set to true only if it doesn't already exist
@@ -68,7 +67,7 @@ def self.up
6867
end
6968

7069
def self.down
71-
begin
70+
if !columns("repository_mirrors").index{|x| x.name=="project_id"}
7271
add_column :repository_mirrors, :project_id, :integer
7372
begin
7473
say "Detaching repository mirrors from repositories; re-attaching them to projects..."
@@ -77,16 +76,16 @@ def self.down
7776
mirror.save!
7877
end
7978
say "Success. Changed #{RepositoryMirror.all.count} records."
80-
remove_column :repository_mirrors, :repository_id rescue nil
81-
rescue => e
79+
rescue => e
8280
say "Failed to re-attach repository mirrors to projects."
8381
say "Error: #{e.message}"
84-
remove_column :repository_mirrors, :project_id rescue nil
8582
end
86-
rescue
83+
if columns("repository_mirrors").index{|x| x.name=="repository_id"}
84+
remove_column :repository_mirrors, :repository_id
85+
end
8786
end
8887

89-
begin
88+
if !columns("repository_post_receive_urls").index{|x| x.name=="project_id"}
9089
add_column :repository_post_receive_urls, :project_id, :integer
9190
begin
9291
say "Detaching repository post-receive-urls from repositories; re-attaching them to projects..."
@@ -95,20 +94,19 @@ def self.down
9594
prurl.save!
9695
end
9796
say "Success. Changed #{RepositoryPostReceiveUrl.all.count} records."
98-
remove_column :repository_post_receive_urls, :repository_id rescue nil
9997
rescue => e
10098
say "Failed to re-attach repository post-receive urls to projects."
10199
say "Error: #{e.message}"
102-
remove_column :repository_post_receive_urls, :project_id rescue nil
103100
end
104-
rescue
101+
if columns("repository_post_receive_urls").index{|x| x.name=="repository_id"}
102+
remove_column :repository_post_receive_urls, :repository_id
103+
end
105104
end
106105

107106
remove_index :projects, [:identifier]
108-
begin
107+
if columns("repositories").index{|x| x.name=="identifier"}
109108
remove_index :repositories, [:identifier]
110109
remove_index :repositories, [:identifier, :project_id]
111-
rescue
112110
end
113111
rename_column :git_caches, :repo_identifier, :proj_identifier
114112

0 commit comments

Comments
 (0)