aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2012-11-05 14:46:01 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2012-11-05 14:46:37 +0100
commit86543fe81dd9cf3ab6aeed9557dada4e125ff7bb (patch)
tree50ea7f2ecf6cf6d9bda32b5bd346a743bfd5db4f
parent3df00fb97661f12dabe98cd9a279080e586e9c0d (diff)
downloadsonarqube-86543fe81dd9cf3ab6aeed9557dada4e125ff7bb.tar.gz
sonarqube-86543fe81dd9cf3ab6aeed9557dada4e125ff7bb.zip
SONAR-3929 Database upgrade fails
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/db/migrate/331_remove_projects_profile_id.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/331_remove_projects_profile_id.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/331_remove_projects_profile_id.rb
index 68fc65062e4..abe99ac17c9 100644
--- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/331_remove_projects_profile_id.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/331_remove_projects_profile_id.rb
@@ -28,16 +28,21 @@ class RemoveProjectsProfileId < ActiveRecord::Migration
end
class Project < ActiveRecord::Base
- belongs_to :profile
+
end
class Property < ActiveRecord::Base
end
def self.up
- projects=Project.find(:all, :conditions => ['profile_id is not null and copy_resource_id is null'], :include => :profile)
- projects.each do |project|
- Property.create(:prop_key => "sonar.profile.#{project.profile.language}", :text_value => project.profile.name, :resource_id => project.id)
+ projects=Project.find(:all, :conditions => ['profile_id is not null and copy_resource_id is null'])
+ say_with_time "Processing #{projects.size} projects..." do
+ projects.each do |project|
+ profile = Profile.find(:first, :conditions => ['id=?', project.profile_id])
+ if profile
+ Property.create(:prop_key => "sonar.profile.#{profile.language}", :text_value => profile.name, :resource_id => project.id)
+ end
+ end
end
remove_column('projects', 'profile_id')
end