Bug 21066: (QA follow-up) Check for field existence in db rev
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Mon, 31 Aug 2020 08:21:34 +0000 (08:21 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 2 Sep 2020 13:35:05 +0000 (15:35 +0200)
Test plan:
Run the upgrade twice.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
installer/data/mysql/atomicupdate/bug_21066.perl

index 3a9780f..630f6d2 100644 (file)
@@ -1,9 +1,16 @@
 $DBversion = 'XXX'; # will be replaced by the RM
 if( CheckVersion( $DBversion ) ) {
-    $dbh->do(q|
-        ALTER TABLE opac_news
-        CHANGE COLUMN timestamp publicationdate date DEFAULT NULL,
-        ADD COLUMN updated_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
-    |);
+    if( column_exists( 'opac_news', 'timestamp' ) ) {
+        $dbh->do(q|
+            ALTER TABLE opac_news
+            CHANGE COLUMN timestamp publicationdate date DEFAULT NULL
+        |);
+    }
+    if( !column_exists( 'opac_news', 'updated_on' ) ) {
+        $dbh->do(q|
+            ALTER TABLE opac_news
+            ADD COLUMN updated_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP AFTER publicationdate
+        |);
+    }
     NewVersion( $DBversion, 21066, "Update table opac_news");
 }