]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8134 add organization uuid to unique index of table GROUP_ROLES
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Wed, 19 Oct 2016 09:02:08 +0000 (11:02 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 20 Oct 2016 15:17:53 +0000 (17:17 +0200)
server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1418_include_organization_uuid_in_unique_index_of_group_roles.rb [new file with mode: 0644]
sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java
sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql
sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl

diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1418_include_organization_uuid_in_unique_index_of_group_roles.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1418_include_organization_uuid_in_unique_index_of_group_roles.rb
new file mode 100644 (file)
index 0000000..8e26506
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# 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 6.2
+#
+class IncludeOrganizationUuidInUniqueIndexOfGroupRoles < ActiveRecord::Migration
+
+  def self.up
+    drop_index_quietly :group_roles, :uniq_group_roles
+
+    add_index 'group_roles', ['organization_uuid', 'group_id', 'resource_id', 'role'], :unique => true, :name => 'uniq_group_roles'
+  end
+end
index 87b056bba2a41aee3454f02f065981ac76aebb43..22be5a76f9177b49c70f9de058d5efada54a0ab9 100644 (file)
@@ -30,7 +30,7 @@ import org.sonar.db.MyBatis;
 
 public class DatabaseVersion {
 
-  public static final int LAST_VERSION = 1_417;
+  public static final int LAST_VERSION = 1_418;
 
   /**
    * The minimum supported version which can be upgraded. Lower
index b75f9d9e7165e3c80b918e8f16ce2e42532ffba7..b34c27e566226ea8ff1c89ab9506083be9bf8df1 100644 (file)
@@ -506,6 +506,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1414');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1415');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1416');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1417');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1418');
 
 INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, EXTERNAL_IDENTITY, EXTERNAL_IDENTITY_PROVIDER, USER_LOCAL, CRYPTED_PASSWORD, SALT, IS_ROOT, CREATED_AT, UPDATED_AT) VALUES (1, 'admin', 'Administrator', '', 'admin', 'sonarqube', true, 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', true, '1418215735482', '1418215735482');
 ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2;
index 463dbb764cec252f3d5964790b387b615980635d..683d55b6a74e6d10e8daf53ce3f36b0486113740 100644 (file)
@@ -127,7 +127,7 @@ CREATE TABLE "GROUP_ROLES" (
   "ROLE" VARCHAR(64) NOT NULL
 );
 CREATE INDEX "GROUP_ROLES_RESOURCE" ON "GROUP_ROLES" ("RESOURCE_ID");
-CREATE UNIQUE INDEX "UNIQ_GROUP_ROLES" ON "GROUP_ROLES" ("GROUP_ID", "RESOURCE_ID", "ROLE");
+CREATE UNIQUE INDEX "UNIQ_GROUP_ROLES" ON "GROUP_ROLES" ("ORGANIZATION_UUID", "GROUP_ID", "RESOURCE_ID", "ROLE");
 
 
 CREATE TABLE "RULE_REPOSITORIES" (