- Definition of extra eveai_ops service to run (db) jobs
- Definition of manifests for all jobs - Definition of manifests for all eveai services
This commit is contained in:
25
scripts/dbops/90-initial-cluster-db-create.sh
Executable file
25
scripts/dbops/90-initial-cluster-db-create.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
log() { echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] $*"; }
|
||||
fail() { echo "ERROR: $*" >&2; exit 1; }
|
||||
|
||||
: "${DB_HOST:?DB_HOST required}"
|
||||
: "${DB_PORT:?DB_PORT required}"
|
||||
: "${DB_NAME:?DB_NAME required}"
|
||||
: "${DB_USER:?DB_USER required}"
|
||||
: "${DB_PASS:?DB_PASS required}"
|
||||
|
||||
export PGPASSWORD="$DB_PASS"
|
||||
|
||||
log "Checking if database '$DB_NAME' exists..."
|
||||
EXISTS=$(psql -U "$DB_USER" -h "$DB_HOST" -p "$DB_PORT" -d postgres -tAc "SELECT 1 FROM pg_database WHERE datname='${DB_NAME}'" | tr -d '[:space:]') || true
|
||||
|
||||
if [[ "$EXISTS" == "1" ]]; then
|
||||
log "Database '$DB_NAME' already exists. Nothing to do."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
log "Creating database '$DB_NAME'..."
|
||||
psql -U "$DB_USER" -h "$DB_HOST" -p "$DB_PORT" -d postgres -v ON_ERROR_STOP=1 -c "CREATE DATABASE \"$DB_NAME\";"
|
||||
log "Database '$DB_NAME' created successfully."
|
||||
Reference in New Issue
Block a user