Files
web-hosts/domains/coppertone.tech/backend/scripts/init-db.sh
2025-12-26 13:38:04 +01:00

31 lines
957 B
Bash
Executable File

#!/bin/bash
# Database initialization script for Copper Tone Technologies platform
set -e
# Database connection variables (can be overridden by environment)
DB_HOST="${DB_HOST:-db}"
DB_USER="${DB_USER:-user}"
DB_PASSWORD="${DB_PASSWORD:-password}"
DB_NAME="${DB_NAME:-coppertone_db}"
MIGRATIONS_DIR="${MIGRATIONS_DIR:-/migrations}"
echo "Initializing database: $DB_NAME on $DB_HOST"
# Wait for PostgreSQL to be ready
echo "Waiting for PostgreSQL to be ready..."
until PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -U "$DB_USER" -d "postgres" -c '\q' 2>/dev/null; do
echo "PostgreSQL is unavailable - sleeping"
sleep 2
done
echo "PostgreSQL is up - executing migrations"
# Run migrations in order
for migration in $(ls -1 $MIGRATIONS_DIR/*.up.sql | sort); do
echo "Applying migration: $(basename $migration)"
PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -f "$migration"
done
echo "Database initialization complete!"