This commit is contained in:
oliver committed 2026-09-27 10:39:39 -03:00
1 parent 2e9c775599
commit 9a59b2932a
10 files changed
+499

No files matched your search

+54
View File
@@ -0,0 +1,54 @@
#!/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"