#!/bin/bash

# A helper script to easily run queries / log-in to the Dockerized MySQL containers

PROJECT="sqlsidecar"
USAGE="./bin/mysql.sh <master|slave> \"[command]\""

if [ -z "$1" ]; then
    echo $USAGE
    exit 1
fi
if [ "$1" != "master" ] && [ "$1" != "slave" ]; then
    echo $USAGE
    exit 1
fi
if ! [ -z $3 ]; then
    echo "Please quote the SQL query string"
    echo $USAGE
    exit 1
fi

TARGET="$1"
shift

PASSWORD=$(fgrep MYSQL_PASSWORD docker-compose.yml | awk '{print $2}' | head -n1)

function bashcmd {
  docker run \
    --network ${PROJECT}_default \
    --link ${PROJECT}_mysql_1:master \
    --link ${PROJECT}_mysql_slave_1:slave \
    --entrypoint bash \
    -it mariadb \
    -c "$1"
}
function mysqlcmd {
  bashcmd "mysql -h $1 -u root --password=${PASSWORD} -e \"$2\""
}

if [[ "$@" != "" ]]; then
    mysqlcmd "$TARGET" "$@"
else
    bashcmd "mysql -h $TARGET -u root --password=${PASSWORD}"
fi
