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

if [[ $# -lt 1 ]]; then
  echo "Usage: $0 <up|down|version|force>"
  exit 1
fi

if [[ -z "${MIGRATE_DATABASE_URL:-}" ]]; then
  echo "MIGRATE_DATABASE_URL is required"
  exit 1
fi

DB_NAME_FROM_URL="$(echo "${MIGRATE_DATABASE_URL}" | sed -E 's#^[^/]+//[^/]+/([^?]+).*$#\1#')"
DB_NAME_FROM_URL="${DB_NAME_FROM_URL%%/*}"

# Safety checks: block accidental migration to non-POS database.
if [[ "${DB_NAME_FROM_URL}" != "Luv2_Softcomp_bazzar" ]]; then
  echo "Blocked: MIGRATE_DATABASE_URL must target /Luv2_Softcomp_bazzar"
  exit 1
fi

if [[ "${DB_NAME_FROM_URL}" == "postgres" ]]; then
  echo "Blocked: refusing to run on default postgres database"
  exit 1
fi

ACTION="$1"
shift || true

migrate -path migrations -database "${MIGRATE_DATABASE_URL}" "${ACTION}" "$@"

