From 3f20a128d9068f85965a63f4e5e28f0b6f17c230 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Mon, 12 Oct 2015 09:41:09 +0200 Subject: [PATCH] SONAR-6915 Change type of character columns of ISSUES table on MsSQL Type of following columns are updtated to NVARCHAR on MsSQL : ISSUES.TAGS ISSUES.COMPONENT_UUID ISSUES.PROJECT_UUID --- .../941_alter_issues_char_columns_on_mssql.rb | 41 +++++++++++++++++++ .../org/sonar/db/version/DatabaseVersion.java | 2 +- .../org/sonar/db/version/rows-h2.sql | 1 + 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 server/sonar-web/src/main/webapp/WEB-INF/db/migrate/941_alter_issues_char_columns_on_mssql.rb diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/941_alter_issues_char_columns_on_mssql.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/941_alter_issues_char_columns_on_mssql.rb new file mode 100644 index 00000000000..f74a068eb50 --- /dev/null +++ b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/941_alter_issues_char_columns_on_mssql.rb @@ -0,0 +1,41 @@ +# +# 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 5.2 +# SONAR-6915 +# +class AlterIssuesCharColumnsOnMssql < ActiveRecord::Migration + + def self.up + if dialect()=='sqlserver' + remove_index :issues, :name => 'issues_component_uuid' + remove_index :issues, :name => 'issues_project_uuid' + + change_column :issues, :tags, :string, :limit => 4000 + change_column :issues, :component_uuid, :string, :limit => 50 + change_column :issues, :project_uuid, :string, :limit => 50 + + add_index :issues, :component_uuid, :name => 'issues_component_uuid' + add_index :issues, :project_uuid, :name => 'issues_project_uuid' + end + end + +end diff --git a/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java b/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java index 3054b88bd6d..a1c0b130446 100644 --- a/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java +++ b/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java @@ -29,7 +29,7 @@ import org.sonar.db.MyBatis; public class DatabaseVersion { - public static final int LAST_VERSION = 940; + public static final int LAST_VERSION = 941; /** * The minimum supported version which can be upgraded. Lower diff --git a/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql b/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql index 6f4bb503f06..0671ac8a706 100644 --- a/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql +++ b/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql @@ -359,6 +359,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('937'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('938'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('939'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('940'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('941'); 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', '1418215735482', '1418215735482', null, null); ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2; -- 2.39.5