55 lines
1.8 KiB
Bash
Executable File
55 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Unified Odoo nuke script (all versions).
|
|
# CONTAINER_ID, DB_NAME, SOFTWARE already exported by nukeContainer.
|
|
|
|
_self="$(realpath "${BASH_SOURCE[0]:-$0}")"; SBIN_ROOT="$(dirname "$(dirname "$_self")")" # parent of nuke/
|
|
source "$SBIN_ROOT/helpers"
|
|
source "$SBIN_ROOT/odoo.lib"
|
|
|
|
[ -z "$CONTAINER_ID" ] && die "CONTAINER_ID not set"
|
|
|
|
load_container_config "$CONTAINER_ID"
|
|
|
|
POSTGRES_HOST="${POSTGRES_HOST:-beedb}"
|
|
POSTGRES_PORT="${POSTGRES_PORT:-5432}"
|
|
POSTGRES_ADMIN_USER="${POSTGRES_ADMIN_USER:-1gtT0sf8klB9lDbYZD9}"
|
|
POSTGRES_ADMIN_PASSWORD="${POSTGRES_ADMIN_PASSWORD:-ZpSwWNafyy9GhY2gzHw}"
|
|
|
|
DB_NAME="${DB_NAME:-$CONTAINER_ID}"
|
|
ODOO_DB_USER="$DB_NAME"
|
|
|
|
BASEURL="/4server/data/$CONTAINER_ID"
|
|
BACKUPURL="/BACKUP/$CONTAINER_ID"
|
|
|
|
log "Nuking container $CONTAINER_ID (DB_NAME=$DB_NAME)"
|
|
|
|
doas docker stop "$CONTAINER_ID" || warn "docker stop failed (may already be stopped)"
|
|
doas docker rm "$CONTAINER_ID" || warn "docker rm failed (may not exist)"
|
|
|
|
log "Dropping PostgreSQL database: $DB_NAME"
|
|
PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" psql \
|
|
-h "$POSTGRES_HOST" -U "$POSTGRES_ADMIN_USER" -p "$POSTGRES_PORT" -d postgres \
|
|
-c "DROP DATABASE IF EXISTS \"$DB_NAME\";" \
|
|
|| die "failed to drop database $DB_NAME"
|
|
|
|
log "Dropping PostgreSQL user: $ODOO_DB_USER"
|
|
PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" psql \
|
|
-h "$POSTGRES_HOST" -U "$POSTGRES_ADMIN_USER" -p "$POSTGRES_PORT" -d postgres <<EOF
|
|
DO
|
|
\$do\$
|
|
BEGIN
|
|
IF EXISTS (SELECT FROM pg_catalog.pg_user WHERE usename = '${ODOO_DB_USER}') THEN
|
|
EXECUTE 'DROP USER "' || '${ODOO_DB_USER}' || '"';
|
|
END IF;
|
|
END
|
|
\$do\$;
|
|
EOF
|
|
|
|
log "Database '$DB_NAME' and user '$ODOO_DB_USER' removed"
|
|
|
|
# Uncomment when ready to also wipe data directories:
|
|
# log "Removing data directory: $BASEURL"
|
|
# doas rm -rf "$BASEURL"
|
|
# log "Removing backup directory: $BACKUPURL"
|
|
# doas rm -rf "$BACKUPURL"
|