#!/bin/bash
datadir="/var/opt/rh/rh-mysql57/lib/mysql"

# We have to re-enable SCL environment, because /sbin/service
# clears almost all environment variables.
# Since X_SCLS is cleared as well, we lose information about other
# collections enabled.
. /opt/rh/rh-mysql57/service-environment
for sclname in $RH_MYSQL57_SCLS_ENABLED ; do
    . /opt/rh/$sclname/enable
    export X_SCLS="$X_SCLS $sclname"
done

# we want start daemon only inside "scl enable" invocation
if ! scl_enabled $sclname ; then
    echo "Collection $sclname has to be listed in /opt/rh/rh-mysql57/service-environment"
    exit 1
fi

if [ ! -f $datadir/mysql/user.frm ]
then
    touch /var/log/mysql57-mysqld.log
    chown mysql:mysql /var/log/mysql57-mysqld.log
    chmod 0640 /var/log/mysql57-mysqld.log
    echo "Initializing MySQL database"
    /opt/rh/rh-mysql57/root/usr/libexec/mysqld --initialize --datadir="$datadir" --user="mysql"
    ret=$?
    if [ $ret -ne 0 ] ; then
        echo "Initialization of MySQL database failed." >&2
        echo "Perhaps /etc/opt/rh/rh-mysql57/my.cnf is misconfigured." >&2
        # Clean up any partially-created database files
        if [ ! -e "$datadir/mysql/user.frm" ] ; then
            rm -rf "$datadir"/*
        fi
        exit $ret
    fi
    # set root password
    /opt/rh/rh-mysql57/root/usr/libexec/mysqld --bootstrap --datadir="$datadir" --user="mysql" < $datadir/../misc/set.password
    # upgrade does not need to be run on a fresh datadir
    echo "5.7.24" >"$datadir/mysql_upgrade_info"
    # In case we're running as root, make sure files are owned properly
    chown -R "mysql:mysql" "$datadir"

    if [ -f /home/e-smith/db/mysql57/mysql.dump ]
    then
        /sbin/e-smith/expand-template /etc/e-smith/sql/init57/00_restore_dumped_dbs
    fi
fi
