]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3352 Change boolean columns to non-nullable in migration script
authorFabrice Bellingard <bellingard@gmail.com>
Mon, 26 Mar 2012 16:56:38 +0000 (18:56 +0200)
committerFabrice Bellingard <bellingard@gmail.com>
Mon, 26 Mar 2012 16:56:38 +0000 (18:56 +0200)
sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
sonar-core/src/main/resources/org/sonar/core/persistence/rows-derby.sql
sonar-core/src/main/resources/org/sonar/core/persistence/schema-derby.ddl
sonar-core/src/test/java/org/sonar/core/review/ReviewDaoTest.java
sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update.xml
sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation-result.xml [deleted file]
sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation.xml [deleted file]
sonar-server/src/main/webapp/WEB-INF/db/migrate/282_update_reviews_boolean_columns.rb [new file with mode: 0644]

index af71db19c517820b94ffd82dc69e9d2c3efc9c36..de431b0fb2618a015a15e87ba8fd12998c92bb87 100644 (file)
@@ -32,7 +32,7 @@ import java.util.List;
  */
 public class DatabaseVersion implements BatchComponent, ServerComponent {
 
-  public static final int LAST_VERSION = 281;
+  public static final int LAST_VERSION = 282;
 
   public static enum Status {
     UP_TO_DATE, REQUIRES_UPGRADE, REQUIRES_DOWNGRADE, FRESH_INSTALL
index 01697d00a17bdf4008de7a779c4c31ce1cdb0f9f..cd59e8060173b241dae778a19a239c9cd433a636 100644 (file)
@@ -181,6 +181,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('262');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('263');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('280');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('281');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('282');
 
 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', '2011-09-26 22:27:48.0', '2011-09-26 22:27:48.0', null, null);
 ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2;
index 4df7a9a18addb6bf2801d7381109a8569507dc81..334c5c8edb38937a0f8b4e9fda1f177d64dd48a0 100644 (file)
@@ -314,8 +314,8 @@ CREATE TABLE "REVIEWS" (
   "RESOURCE_LINE" INTEGER,
   "RESOLUTION" VARCHAR(200),
   "RULE_ID" INTEGER,
-  "MANUAL_VIOLATION" BOOLEAN,
-  "MANUAL_SEVERITY" BOOLEAN
+  "MANUAL_VIOLATION" BOOLEAN NOT NULL,
+  "MANUAL_SEVERITY" BOOLEAN NOT NULL
 );
 
 CREATE TABLE "ACTIVE_FILTERS" (
index 1c5f62fd852f5ee0c07110e4bd408e60310ae262..155ba0f3d7661e2622a4548c21fe4e9f098642ee 100644 (file)
@@ -98,16 +98,4 @@ public class ReviewDaoTest extends DaoTestCase {
 
     checkTables("update", "reviews");
   }
-
-  @Test
-  public void updateWithNullManualSeverityAndViolation() {
-    setupData("update_null_manual_severity_and_violation");
-    Collection<ReviewDto> reviews = dao.selectOpenByResourceId(400L);
-    ReviewDto review = reviews.iterator().next();
-    review.setLine(12345);
-
-    dao.update(reviews);
-
-    checkTables("update_null_manual_severity_and_violation", "reviews");
-  }
 }
index f9445f75b91f0c53e693c3769bd0f7b52c11c318..12303a0a6f99ba24e36e47f51705f1ebf6c8dcb8 100644 (file)
@@ -15,7 +15,7 @@
     title="[null]"
     resource_id="400"
     rule_id="500"
-    manual_violation="[null]"
-    manual_severity="[null]"/>
+    manual_violation="[false]"
+    manual_severity="[false]"/>
 
 </dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation-result.xml b/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation-result.xml
deleted file mode 100644 (file)
index f923170..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<dataset>
-
-  <reviews
-    id="100"
-    status="OPEN"
-    rule_failure_permanent_id="100"
-    resolution="RESOLVE"
-    created_at="[null]"
-    updated_at="[null]"
-    project_id="20"
-    resource_line="12345"
-    severity="BLOCKER"
-    user_id="300"
-    assignee_id="[null]"
-    title="[null]"
-    resource_id="400"
-    rule_id="500"
-    manual_violation="[false]"
-    manual_severity="[false]"/>
-
-</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation.xml b/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation.xml
deleted file mode 100644 (file)
index f9445f7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<dataset>
-
-  <reviews
-    id="100"
-    status="OPEN"
-    rule_failure_permanent_id="100"
-    resolution="RESOLVE"
-    created_at="[null]"
-    updated_at="[null]"
-    project_id="20"
-    resource_line="200"
-    severity="BLOCKER"
-    user_id="300"
-    assignee_id="[null]"
-    title="[null]"
-    resource_id="400"
-    rule_id="500"
-    manual_violation="[null]"
-    manual_severity="[null]"/>
-
-</dataset>
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/282_update_reviews_boolean_columns.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/282_update_reviews_boolean_columns.rb
new file mode 100644 (file)
index 0000000..e2b7515
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# Sonar, entreprise quality control tool.
+# Copyright (C) 2008-2012 SonarSource
+# 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.15
+#
+class UpdateReviewsBooleanColumns < ActiveRecord::Migration
+  
+  def self.up
+    change_column 'reviews', 'manual_severity', :boolean, :null => false
+    change_column 'reviews', 'manual_violation', :boolean, :null => false
+  end
+
+end