easyai-ai-gateway/scripts/create-database.sh

33 lines
894 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
CONTAINER="${AI_GATEWAY_PG_CONTAINER:-easyai-pgvector}"
PGUSER="${AI_GATEWAY_PG_USER:-easyai}"
DB_NAME="${AI_GATEWAY_DATABASE_NAME:-easyai_ai_gateway}"
version_num="$(
docker exec "$CONTAINER" \
psql -U "$PGUSER" -d postgres -tAc "SHOW server_version_num" \
| tr -d '[:space:]'
)"
if [[ "${version_num:-0}" -lt 180000 ]]; then
echo "[ai-gateway] warning: PostgreSQL 18 is expected, current server_version_num=${version_num}"
fi
exists="$(
docker exec "$CONTAINER" \
psql -U "$PGUSER" -d postgres -tAc "SELECT 1 FROM pg_database WHERE datname='${DB_NAME}'" \
| tr -d '[:space:]'
)"
if [[ "$exists" == "1" ]]; then
echo "[ai-gateway] database already exists: ${DB_NAME}"
exit 0
fi
docker exec "$CONTAINER" \
psql -U "$PGUSER" -d postgres -c "CREATE DATABASE \"${DB_NAME}\""
echo "[ai-gateway] database created: ${DB_NAME}"