Bug 18235: (QA follow-up) Make db update idempotent
authorJosef Moravec <josef.moravec@gmail.com>
Mon, 4 Mar 2019 13:52:19 +0000 (13:52 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Thu, 28 Mar 2019 15:18:48 +0000 (15:18 +0000)
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

installer/data/mysql/atomicupdate/bug_18235-add-search_field-facet_order.perl [new file with mode: 0644]
installer/data/mysql/atomicupdate/bug_18235-add-search_field-facet_order.sql [deleted file]

diff --git a/installer/data/mysql/atomicupdate/bug_18235-add-search_field-facet_order.perl b/installer/data/mysql/atomicupdate/bug_18235-add-search_field-facet_order.perl
new file mode 100644 (file)
index 0000000..fd5ee93
--- /dev/null
@@ -0,0 +1,20 @@
+$DBversion = 'XXX'; # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+    if( !column_exists( 'search_field', 'facet_order' ) ) {
+        $dbh->do("ALTER TABLE search_field ADD COLUMN facet_order TINYINT(4) DEFAULT NULL AFTER weight");
+    }
+
+    $dbh->do("UPDATE search_field SET facet_order=1 WHERE name='author'");
+    $dbh->do("UPDATE search_field SET facet_order=2 WHERE name='itype'");
+    $dbh->do("UPDATE search_field SET facet_order=3 WHERE name='location'");
+    $dbh->do("UPDATE search_field SET facet_order=4 WHERE name='su-geo'");
+    $dbh->do("UPDATE search_field SET facet_order=5 WHERE name='se'");
+    $dbh->do("UPDATE search_field SET facet_order=6 WHERE name='subject'");
+    $dbh->do("UPDATE search_field SET facet_order=7 WHERE name='ccode'");
+    $dbh->do("UPDATE search_field SET facet_order=8 WHERE name='holdingbranch'");
+    $dbh->do("UPDATE search_field SET facet_order=9 WHERE name='homebranch'");
+
+    # Always end with this (adjust the bug info)
+    SetVersion( $DBversion );
+    print "Upgrade to $DBversion done (Bug 18235 - Elastic search - make facets configurable)\n";
+}
diff --git a/installer/data/mysql/atomicupdate/bug_18235-add-search_field-facet_order.sql b/installer/data/mysql/atomicupdate/bug_18235-add-search_field-facet_order.sql
deleted file mode 100644 (file)
index 6cf83ab..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-ALTER TABLE search_field ADD COLUMN facet_order TINYINT(4) DEFAULT NULL AFTER weight;
-UPDATE search_field SET facet_order=1 WHERE name='author';
-UPDATE search_field SET facet_order=2 WHERE name='itype';
-UPDATE search_field SET facet_order=3 WHERE name='location';
-UPDATE search_field SET facet_order=4 WHERE name='su-geo';
-UPDATE search_field SET facet_order=5 WHERE name='se';
-UPDATE search_field SET facet_order=6 WHERE name='subject';
-UPDATE search_field SET facet_order=7 WHERE name='ccode';
-UPDATE search_field SET facet_order=8 WHERE name='holdingbranch';
-UPDATE search_field SET facet_order=9 WHERE name='homebranch';