]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1881 delete orphan active rules
authorsimonbrandhof <simon.brandhof@gmail.com>
Wed, 20 Oct 2010 21:11:41 +0000 (21:11 +0000)
committersimonbrandhof <simon.brandhof@gmail.com>
Wed, 20 Oct 2010 21:11:41 +0000 (21:11 +0000)
sonar-core/src/main/java/org/sonar/jpa/entity/SchemaMigration.java
sonar-server/src/main/webapp/WEB-INF/db/migrate/142_add_plugins_child_first_classloader_column.rb [deleted file]
sonar-server/src/main/webapp/WEB-INF/db/migrate/142_delete_active_rules_orphans.rb [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/db/migrate/150_add_plugins_child_first_classloader_column.rb [new file with mode: 0644]

index c6d4e942160c935de0e90118bca07bf9ee4976db..60f57295f39e50602c225092cd72006c1f52bbf1 100644 (file)
@@ -30,7 +30,7 @@ import java.sql.Statement;
 public class SchemaMigration {
 
   public final static int VERSION_UNKNOWN = -1;
-  public static final int LAST_VERSION = 142;
+  public static final int LAST_VERSION = 150;
 
   public final static String TABLE_NAME = "schema_migrations";
 
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/142_add_plugins_child_first_classloader_column.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/142_add_plugins_child_first_classloader_column.rb
deleted file mode 100644 (file)
index 14842ab..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Sonar, entreprise quality control tool.
-# Copyright (C) 2009 SonarSource SA
-# mailto:contact AT sonarsource DOT com
-#
-# Sonar 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.
-#
-# Sonar 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 Sonar; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
-#
-class AddPluginsChildFirstClassloaderColumn < ActiveRecord::Migration
-
-  def self.up
-    add_column 'plugins', 'child_first_classloader', :boolean, :null => true
-    Plugin.reset_column_information
-    Plugin.update_all(Plugin.sanitize_sql_for_assignment({:child_first_classloader=>false}))
-  end
-
-end
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/142_delete_active_rules_orphans.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/142_delete_active_rules_orphans.rb
new file mode 100644 (file)
index 0000000..8c56dc3
--- /dev/null
@@ -0,0 +1,29 @@
+ #
+ # Sonar, entreprise quality control tool.
+ # Copyright (C) 2009 SonarSource SA
+ # mailto:contact AT sonarsource DOT com
+ #
+ # Sonar 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.
+ #
+ # Sonar 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 Sonar; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+ #
+class DeleteActiveRulesOrphans < ActiveRecord::Migration
+
+  def self.up
+    # see http://jira.codehaus.org/browse/SONAR-1881
+    orphans=ActiveRule.find_by_sql "SELECT ar.* FROM active_rules ar WHERE NOT EXISTS (SELECT * FROM rules_profiles pr WHERE pr.id=ar.profile_id)"
+    orphans.each do |orphan|
+      orphan.destroy
+    end
+  end
+end
\ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/150_add_plugins_child_first_classloader_column.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/150_add_plugins_child_first_classloader_column.rb
new file mode 100644 (file)
index 0000000..14842ab
--- /dev/null
@@ -0,0 +1,28 @@
+#
+# Sonar, entreprise quality control tool.
+# Copyright (C) 2009 SonarSource SA
+# mailto:contact AT sonarsource DOT com
+#
+# Sonar 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.
+#
+# Sonar 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 Sonar; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+#
+class AddPluginsChildFirstClassloaderColumn < ActiveRecord::Migration
+
+  def self.up
+    add_column 'plugins', 'child_first_classloader', :boolean, :null => true
+    Plugin.reset_column_information
+    Plugin.update_all(Plugin.sanitize_sql_for_assignment({:child_first_classloader=>false}))
+  end
+
+end