#!/usr/bin/env bash
set -euo pipefail

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <database_name>"
    exit 1
fi

DB_NAME="$1"

if [[ ! "$DB_NAME" =~ ^[A-Za-z0-9_]+$ ]]; then
    echo "Invalid database name: $DB_NAME"
    echo "Only letters, numbers and underscore are allowed."
    exit 1
fi

cd /mnt/UbuData/projects/apache-perl

ENV_FILE="env_file.env"

if [ ! -f "$ENV_FILE" ]; then
    echo "Cannot find $ENV_FILE"
    exit 1
fi

set -a
source "$ENV_FILE"
set +a

sudo docker exec home-mysql \
    mysql \
    -uroot \
    -p"$MYSQL_ROOT_PASSWORD" \
    -e "CREATE DATABASE IF NOT EXISTS \`$DB_NAME\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

echo "Database ready: $DB_NAME"
