#!/bin/bash set -e # Default to staging TARGET="stg" for arg in "$@"; do if [[ "$arg" == "-target" ]]; then NEXT_IS_TARGET=1 continue fi if [[ $NEXT_IS_TARGET == 1 ]]; then TARGET="$arg" NEXT_IS_TARGET=0 fi done if [[ "$TARGET" == "prod" ]]; then DB_CONTAINER="cmc-prod-db" DB_USER="cmc" DB_PASS="xVRQI&cA?7AU=hqJ!%au" DB_NAME="cmc" SQL_DIR="/home/cmc/cmc-sales-prod/go-app/sql/schema" else DB_CONTAINER="cmc-db" DB_USER="cmc" DB_PASS="xVRQI&cA?7AU=hqJ!%au" DB_NAME="cmc" SQL_DIR="/home/cmc/cmc-sales-staging/go-app/sql/schema" fi for sqlfile in "$SQL_DIR"/*.sql; do # Skip files starting with ignore_ if [[ $(basename "$sqlfile") == ignore_* ]]; then echo "Skipping ignored migration: $sqlfile" continue fi echo "Running migration: $sqlfile on $TARGET ($DB_CONTAINER)" docker cp "$sqlfile" "$DB_CONTAINER":/tmp/migration.sql docker exec "$DB_CONTAINER" sh -c "mariadb -u $DB_USER -p'$DB_PASS' $DB_NAME < /tmp/migration.sql" done echo "All migrations applied."