From bb5f2788ee9d76b3a581a3070a90dd7b71317b75 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Mon, 3 Feb 2014 11:22:02 +0100 Subject: [PATCH] SONAR-4921 Replace deletion of baseId condition by a replacement of the baseId condition by base condition --- ...migrate_base_id_to_base_from_measure_filters.rb} | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) rename sonar-server/src/main/webapp/WEB-INF/db/migrate/{495_delete_base_id_from_measure_filters.rb => 495_migrate_base_id_to_base_from_measure_filters.rb} (68%) diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/495_delete_base_id_from_measure_filters.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/495_migrate_base_id_to_base_from_measure_filters.rb similarity index 68% rename from sonar-server/src/main/webapp/WEB-INF/db/migrate/495_delete_base_id_from_measure_filters.rb rename to sonar-server/src/main/webapp/WEB-INF/db/migrate/495_migrate_base_id_to_base_from_measure_filters.rb index 6461a86133b..8df6d80e63c 100644 --- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/495_delete_base_id_from_measure_filters.rb +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/495_migrate_base_id_to_base_from_measure_filters.rb @@ -22,7 +22,7 @@ # Sonar 4.2 # SONAR-4921 # -class DeleteBaseIdFromMeasureFilters < ActiveRecord::Migration +class MigrateBaseIdToBaseFromMeasureFilters < ActiveRecord::Migration class MeasureFilter < ActiveRecord::Base end @@ -30,9 +30,14 @@ class DeleteBaseIdFromMeasureFilters < ActiveRecord::Migration def self.up filters = MeasureFilter.all(:conditions => "data LIKE '%baseId=%'") filters.each do |filter| - filter.data = filter.data.sub(/baseId=\d+/, '') - filter.save + matchBaseId = filter.data.match(/baseId=(\d+)/) + if matchBaseId + projectId = matchBaseId[1] + project = Project.find_by_id(projectId) + # If project exists, we replace the condition using project id by the condition using project key, otherwise we removed the condition + filter.data = filter.data.sub(/baseId=\d+/, project ? "base=#{project.kee}" : '') + filter.save + end end end end - -- 2.39.5