#!/usr/bin/env bash
set -e

script=$(basename "$0")
version="1.0.1"

help() {
    echo
    echo "$script"
    echo
    echo 'Description: Drop MySQL/MariaDB Docker database.'
    echo "Syntax: $script [-d|-f|-c|help]"
    echo "Example: $script -d moodle -c mqysl01"
    echo 'options:'
    echo "  -d    Name of database. Defaults to filename"
    echo "  -c    Docker container name. Defaults to 'mysql'."
    echo "  help  Show $script manual."
    echo
}

if [[ "$1" == 'help' ]]; then
    help
    exit
fi

container='mysql'

while getopts ":c: :d:" opt; do
    case $opt in
        c) container="$OPTARG";;
        d) database="$OPTARG";;
        \?) echo "Invalid option -$OPTARG" >&2
        help
        exit 1;;
    esac
done

[[ -z "$database" ]] && { echo 'Parameter -d|database is empty.' ; exit 1; }

image=$(docker inspect "$container" --format='{{.Config.Image}}')
if [[ "$image" =~ 'mariadb' ]]; then
    echo "Drop MariaDB database $database on container $container ..."
    docker exec "$container" /bin/bash -c "export MYSQL_PWD=\$MARIADB_ROOT_PASSWORD; mysql -N -h\$HOSTNAME -uroot -e 'DROP DATABASE $database;'"
fi
if [[ "$image" =~ 'mysql' ]]; then
    echo "Drop MySQL database $database on container $container ..."
    docker exec "$container" /bin/bash -c "export MYSQL_PWD=\$MYSQL_ROOT_PASSWORD; mysql -N -h\$HOSTNAME -uroot -e 'DROP DATABASE $database;'"
fi

echo 'The Docker MySQL/MariaDB database has been dropped.'
