]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1988 Description of rule parameters should be optional
authorsimonbrandhof <simon.brandhof@gmail.com>
Tue, 7 Dec 2010 00:06:43 +0000 (00:06 +0000)
committersimonbrandhof <simon.brandhof@gmail.com>
Tue, 7 Dec 2010 00:06:43 +0000 (00:06 +0000)
SONAR-2029 The field Rule.configKey should be nullable

sonar-core/src/main/java/org/sonar/jpa/entity/SchemaMigration.java
sonar-plugin-api/src/main/java/org/sonar/api/rules/Rule.java
sonar-server/src/main/webapp/WEB-INF/db/migrate/165_set_nullable_rule_config_key.rb [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/db/migrate/166_set_nullable_rule_parameter_description.rb [new file with mode: 0644]

index 8051214b04e5fa5bd3ed02080209859767987049..824d83f6663206c75540a0b0565a11fa88f8373b 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 = 164;
+  public static final int LAST_VERSION = 166;
 
   public final static String TABLE_NAME = "schema_migrations";
 
index f68f570e2be660e29a70f2a7e7ead5c3db556c8a..d257ef39a2fbb99384c1330d2cc914fd1eae417f 100644 (file)
@@ -48,13 +48,13 @@ public final class Rule {
   @Column(name = "name", updatable = true, nullable = false)\r
   private String name;\r
 \r
-  @Column(name = "plugin_rule_key", updatable = false, nullable = true)\r
+  @Column(name = "plugin_rule_key", updatable = false, nullable = true, length = 200)\r
   private String key;\r
 \r
   @Column(name = "enabled", updatable = true, nullable = true)\r
   private Boolean enabled = Boolean.TRUE;\r
 \r
-  @Column(name = "plugin_config_key", updatable = true, nullable = true)\r
+  @Column(name = "plugin_config_key", updatable = true, nullable = true, length = 500)\r
   private String configKey;\r
 \r
   // Godin: This field should be named priority, otherwise StandardRulesXmlParserTest fails\r
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/165_set_nullable_rule_config_key.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/165_set_nullable_rule_config_key.rb
new file mode 100644 (file)
index 0000000..b6667c5
--- /dev/null
@@ -0,0 +1,37 @@
+#
+# 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
+#
+
+#
+# Sonar 2.5
+#
+class SetNullableRuleConfigKey < ActiveRecord::Migration
+
+  def self.up
+    add_column(:rules, :temp_plugin_config_key, :string, :limit => 500, :null => true)
+    Rule.reset_column_information
+
+    Rule.update_all('temp_plugin_config_key=plugin_config_key')
+
+    remove_column(:rules, :plugin_config_key)
+    rename_column(:rules, :temp_plugin_config_key, :plugin_config_key)
+    Rule.reset_column_information
+  end
+
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/166_set_nullable_rule_parameter_description.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/166_set_nullable_rule_parameter_description.rb
new file mode 100644 (file)
index 0000000..874c810
--- /dev/null
@@ -0,0 +1,37 @@
+#
+# 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
+#
+
+#
+# Sonar 2.5
+#
+class SetNullableRuleParameterDescription < ActiveRecord::Migration
+
+  def self.up
+    add_column(:rules_parameters, :temp_description, :string, :limit => 4000, :null => true)
+    RulesParameter.reset_column_information
+
+    RulesParameter.update_all('temp_description=description')
+
+    remove_column(:rules_parameters, :description)
+    rename_column(:rules_parameters, :temp_description, :description)
+    RulesParameter.reset_column_information
+  end
+
+end