From 37406ac4c0c4bf765f992495ea8680c3f0139b12 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 13 Jun 2014 12:05:25 +0200 Subject: [PATCH] SONAR-5397 Create a migration to merge extended description to description on custom rules --- .../core/persistence/DatabaseVersion.java | 2 +- .../org/sonar/core/persistence/rows-h2.sql | 1 + .../db/migrate/546_inverse_rule_key_index.rb | 1 + ...s_extended_description_with_description.rb | 44 +++++++++++++++++++ 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 sonar-server/src/main/webapp/WEB-INF/db/migrate/547_merge_custom_rules_extended_description_with_description.rb diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java index 9282569d035..1b5b35b8749 100644 --- a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java +++ b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java @@ -33,7 +33,7 @@ import java.util.List; */ public class DatabaseVersion implements BatchComponent, ServerComponent { - public static final int LAST_VERSION = 546; + public static final int LAST_VERSION = 547; public static enum Status { UP_TO_DATE, REQUIRES_UPGRADE, REQUIRES_DOWNGRADE, FRESH_INSTALL diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql index 5a3eaa6e00b..994144ca8f1 100644 --- a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql +++ b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql @@ -241,6 +241,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('543'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('544'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('545'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('546'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('547'); INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '2011-09-26 22:27:48.0', '2011-09-26 22:27:48.0', null, null); ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2; diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/546_inverse_rule_key_index.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/546_inverse_rule_key_index.rb index f2920f9ddb2..903c8fb393d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/546_inverse_rule_key_index.rb +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/546_inverse_rule_key_index.rb @@ -20,6 +20,7 @@ # # SQ 4.4 +# SONAR-5001 # class InverseRuleKeyIndex < ActiveRecord::Migration diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/547_merge_custom_rules_extended_description_with_description.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/547_merge_custom_rules_extended_description_with_description.rb new file mode 100644 index 00000000000..b8f2377212c --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/547_merge_custom_rules_extended_description_with_description.rb @@ -0,0 +1,44 @@ +# +# SonarQube, open source software quality management tool. +# Copyright (C) 2008-2014 SonarSource +# mailto:contact AT sonarsource DOT com +# +# SonarQube is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 3 of the License, or (at your option) any later version. +# +# SonarQube is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +# +# SonarQube 4.4 +# SONAR-5397 +# +class MergeCustomRulesExtendedDescriptionWithDescription < ActiveRecord::Migration + + class Rule < ActiveRecord::Base + end + + def self.up + Rule.reset_column_information + Rule.all(:conditions => ['template_id IS NOT NULL and note_data IS NOT NULL']).each do |r| + unless r.note_data.blank? + r.description += '
' + r.note_data + r.note_data = nil + r.note_user_login = nil + r.note_created_at = nil + r.note_updated_at = nil + r.save! + end + end + end + +end -- 2.39.5