Files
backend/database/migrate.sh
T

28 lines
643 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
MIGRATIONS_DIR="$ROOT_DIR/database/migrations"
CONTAINER="${POSTGRES_CONTAINER:-ariyaway-postgres}"
DB_USER="${POSTGRES_USER:-ariyaway}"
DB_NAME="${POSTGRES_DB:-ariyaway}"
"$ROOT_DIR/database/wait-for-postgres.sh"
run_migration() {
local file="$1"
echo "→ Running $(basename "$file")"
docker exec -i "$CONTAINER" psql -U "$DB_USER" -d "$DB_NAME" < "$file"
}
if [[ $# -gt 0 ]]; then
run_migration "$1"
else
for file in "$MIGRATIONS_DIR"/*.sql; do
[[ -f "$file" ]] || continue
run_migration "$file"
done
fi
echo "Done."