#!/bin/sh
#
# Copyright (C) 2000-2023 Kern Sibbald
# License: BSD 2-Clause; see file LICENSE-FOSS
#
# Shell script to update MySQL
#
echo " "
echo "This script will update a Bacula MySQL database from version 1026 to 1027"
echo " "
bindir=/usr/bin
PATH="$bindir:$PATH"
db_name=${db_name:-bacula}

mysql $* -D ${db_name} -e "select VersionId from Version\G" >/tmp/$$
DBVERSION=`sed -n -e 's/^VersionId: \(.*\)$/\1/p' /tmp/$$`
if [ $DBVERSION != 1026 ] ; then
   echo " "
   echo "The existing database is version $DBVERSION !!"
   echo "This script can only update an existing version 1026 database to version 1027."
   echo "Error. Cannot upgrade this database."
   echo " "
   exit 1
fi

if mysql $*   <<END-OF-DATA
USE ${db_name};
ALTER TABLE Job
    ADD COLUMN Prune    integer     default 0,
    ADD COLUMN ControlJobId Integer UNSIGNED default 0;

ALTER TABLE JobHisto
    ADD COLUMN Prune    integer     default 0,
    ADD COLUMN ControlJobId Integer UNSIGNED default 0;

INSERT INTO Events (EventsCode, EventsType, EventsTime, EventsDaemon, EventsSource, EventsRef, EventsText) VALUES
  ('DU0001', 'catalog_update', NOW(), '*SHELL*', 'update_bacula_tables', 'pid$$', 'Catalog schema was updated to 1027');
UPDATE Version SET VersionId=1027;
END-OF-DATA
then
   echo "Update of Bacula MySQL tables 1026 to 1027 succeeded."
   getVersion
else
   echo "Update of Bacula MySQL tables 1026 to 1027 failed."
   exit 1
fi

exit 0
