]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5007 fix db migration
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Mon, 23 Jun 2014 17:10:57 +0000 (19:10 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Tue, 24 Jun 2014 08:39:35 +0000 (10:39 +0200)
sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDto.java
sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml
sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest.java
sonar-server/src/test/resources/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest/feed_created_at_and_updated_at_result.xml
sonar-server/src/test/resources/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest/schema.sql
sonar-server/src/test/resources/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest/use_default_dates_when_no_changes_result.xml

index 030d67973dc39c937e43737e3dd3f19a39f11368..ae9eab457dfb3a7c90dcba337a58e7f5cb5819a2 100644 (file)
@@ -120,16 +120,12 @@ public class QualityProfileDto extends Dto<String> {
     return rulesUpdatedAt;
   }
 
-  public Date getRulesUpdatedAtAsDate() {
-    return UtcDateUtils.parseDateTime(rulesUpdatedAt);
-  }
-
   public QualityProfileDto setRulesUpdatedAt(String s) {
     this.rulesUpdatedAt = s;
     return this;
   }
 
-  public QualityProfileDto setRulesUpdatedAt(Date d) {
+  public QualityProfileDto setRulesUpdatedAtAsDate(Date d) {
     this.rulesUpdatedAt = UtcDateUtils.formatDateTime(d);
     return this;
   }
index 48669de583be2bf9e18974c571e94c433b0d6aa8..f2c0c203b091fd12648fc43e86ae524eb0167963 100644 (file)
@@ -47,7 +47,7 @@
 
   <update id="updateProfileDates" parameterType="map">
     update rules_profiles
-    set created_at=#{createdAt}, updated_at=#{updatedAt}, rules_updated_at=#{updatedAt}
+    set created_at=#{createdAt}, updated_at=#{updatedAt}, rules_updated_at=#{rulesUpdatedAt}
     where id=#{profileId}
   </update>
 
index 9d563473fbee890bffa0c9c63369d38b08f4e9e2..a6fa81675e67a0b94493e6fc5d5b449b56525422 100644 (file)
@@ -78,7 +78,7 @@ public class QProfileFactory implements ServerComponent {
       QualityProfileDto dto = QualityProfileDto.createFor(key)
         .setName(name.getName())
         .setLanguage(name.getLanguage())
-        .setRulesUpdatedAt(now);
+        .setRulesUpdatedAtAsDate(now);
       if (db.qualityProfileDao().getByKey(dbSession, dto.getKey()) == null) {
         db.qualityProfileDao().insert(dbSession, dto);
         return dto;
index 605e45ae7d21584a4891e54748a10f7378e95e70..cf80395feccab84cd060cea82beeb4ae9feb9661 100644 (file)
@@ -144,7 +144,7 @@ public class RuleActivator implements ServerComponent {
   }
 
   private void updateProfileDate(DbSession dbSession, RuleActivatorContext context) {
-    context.profile().setRulesUpdatedAt(context.getInitDate());
+    context.profile().setRulesUpdatedAtAsDate(context.getInitDate());
     db.qualityProfileDao().update(dbSession, context.profile());
   }
 
index 7eee03656d10c7cadffef1bac97911ca249fa72e..2e61cca0ebd62a9560330ce074fc747327b588a7 100644 (file)
@@ -25,6 +25,7 @@ import org.junit.ClassRule;
 import org.junit.Test;
 import org.sonar.api.utils.DateUtils;
 import org.sonar.api.utils.System2;
+import org.sonar.core.UtcDateUtils;
 import org.sonar.core.persistence.TestDatabase;
 import org.sonar.server.db.DbClient;
 
@@ -42,7 +43,7 @@ public class FeedQProfileDatesMigrationTest {
   public void setUp() throws Exception {
     DbClient dbClient = new DbClient(db.database(), db.myBatis());
     System2 system = mock(System2.class);
-    when(system.now()).thenReturn(DateUtils.parseDate("2014-07-03").getTime());
+    when(system.now()).thenReturn(UtcDateUtils.parseDateTime("2014-07-03T12:00:00+0000").getTime());
     migration = new FeedQProfileDatesMigration(dbClient, system);
   }
 
index b8edf93bea9ba6c9a3ea0be4df06813c9fee4406..f9d324938579eabb01a9a94409e118c32ace350a 100644 (file)
@@ -2,7 +2,7 @@
 <dataset>
 
   <rules_profiles id="10" name="Sonar Way" language="java" kee="java-sw" parent_kee="[null]"
-                  rules_updated_at="2014-01-24 20:20:05.158" created_at="2011-12-25 20:20:05.158" updated_at="2014-01-24 20:20:05.158"/>
+                  rules_updated_at="2014-01-24T19:20:05+0000" created_at="2011-12-25 20:20:05.158" updated_at="2014-01-24 20:20:05.158"/>
 
   <!-- oldest to newest changes -->
   <active_rule_changes id="122" profile_id="10" profile_version="2" rule_id="1" change_date="2011-12-25 20:20:05.158"
index 36fce32a69275e50a384d03ec02da91bfb73dc27..a6237e63fff20e2399e66aa331f058fed273271c 100644 (file)
@@ -4,7 +4,7 @@ CREATE TABLE "RULES_PROFILES" (
   "LANGUAGE" VARCHAR(20),
   "KEE" VARCHAR(1000) NOT NULL,
   "PARENT_KEE" VARCHAR(1000),
-  "RULES_UPDATED_AT" TIMESTAMP,
+  "RULES_UPDATED_AT" VARCHAR(100),
   "CREATED_AT" TIMESTAMP,
   "UPDATED_AT" TIMESTAMP
 );
index e1cf4eb6efa29a2848228e1366ead4fca4853495..21e3251b1ef1702d2b37b43d20cf319d1f06fdef 100644 (file)
@@ -2,7 +2,7 @@
 <dataset>
 
   <rules_profiles id="10" name="Sonar Way" language="java" kee="java-sw" parent_kee="[null]"
-                  rules_updated_at="2014-07-03" created_at="2014-07-03" updated_at="2014-07-03"/>
+                  rules_updated_at="2014-07-03T12:00:00+0000" created_at="2014-07-03 14:00:00.0" updated_at="2014-07-03 14:00:00.0"/>
 
 
   <!-- another profile -->