]> source.dussan.org Git - sonarqube.git/commitdiff
Revert SONAR-4950
authorSimon Brandhof <simon.brandhof@gmail.com>
Thu, 20 Mar 2014 08:12:12 +0000 (09:12 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Thu, 20 Mar 2014 08:39:10 +0000 (09:39 +0100)
sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
sonar-server/src/main/webapp/WEB-INF/db/migrate/482_add_unique_constraint_to_group_roles.rb [deleted file]
sonar-server/src/main/webapp/WEB-INF/db/migrate/482_purge_group_roles.rb [new file with mode: 0644]

index 71540499f8e8e2baccf1301647a043d985441a79..1e87ced7ec715175cf5e981b20f064a44303fb84 100644 (file)
@@ -702,8 +702,6 @@ CREATE INDEX "SNAPSHOTS_ROOT_PROJECT_ID" ON "SNAPSHOTS" ("ROOT_PROJECT_ID");
 
 CREATE INDEX "GROUP_ROLES_ROLE" ON "GROUP_ROLES" ("ROLE");
 
-CREATE UNIQUE INDEX "GROUP_ROLES_UNIQUE" ON "GROUP_ROLES" ("GROUP_ID", "RESOURCE_ID", "ROLE");
-
 CREATE UNIQUE INDEX "RULES_PLUGIN_KEY_AND_NAME" ON "RULES" ("PLUGIN_RULE_KEY", "PLUGIN_NAME");
 
 CREATE UNIQUE INDEX "RULE_TAGS_UNIQUE" ON "RULES_RULE_TAGS" ("RULE_ID", "RULE_TAG_ID");
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/482_add_unique_constraint_to_group_roles.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/482_add_unique_constraint_to_group_roles.rb
deleted file mode 100644 (file)
index bc1cbcb..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# 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.2
-# See SONAR-4950
-#
-class AddUniqueConstraintToGroupRoles < ActiveRecord::Migration
-
-  class GroupRole < ActiveRecord::Base
-  end
-
-  def self.up
-    GroupRole.reset_column_information
-
-    duplicated_ids = ActiveRecord::Base.connection.select_rows('select group_id,resource_id,role from group_roles group by group_id,resource_id,role having count(*) > 1')
-    say_with_time "Remove #{duplicated_ids.size} duplicated group roles" do
-      duplicated_ids.each do |fields|
-        rows = GroupRole.find(:all, :conditions => {:group_id => fields[0], :resource_id => fields[1], :role => fields[2]})
-        # delete all rows except the last one
-        rows[0...-1].each do |row|
-          GroupRole.delete(row.id)
-        end
-      end
-    end
-
-    add_index 'group_roles', ['group_id', 'resource_id', 'role'], :unique => true, :name => 'uniq_group_roles'
-  end
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/482_purge_group_roles.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/482_purge_group_roles.rb
new file mode 100644 (file)
index 0000000..b6d3d16
--- /dev/null
@@ -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.2
+# See SONAR-4950 - reverted. Unique constraint is not created but duplications are still purged.
+#
+class PurgeGroupRoles < ActiveRecord::Migration
+
+  class GroupRole < ActiveRecord::Base
+  end
+
+  def self.up
+    GroupRole.reset_column_information
+
+    duplicated_ids = ActiveRecord::Base.connection.select_rows('select group_id,resource_id,role from group_roles group by group_id,resource_id,role having count(*) > 1')
+    say_with_time "Remove #{duplicated_ids.size} duplicated group roles" do
+      duplicated_ids.each do |fields|
+        rows = GroupRole.find(:all, :conditions => {:group_id => fields[0], :resource_id => fields[1], :role => fields[2]})
+        # delete all rows except the last one
+        rows[0...-1].each do |row|
+          GroupRole.delete(row.id)
+        end
+      end
+    end
+  end
+end