c
This commit is contained in:
1 parent
2e9c775599
commit
9a59b2932a
10 files changed
+499
No files matched your search
Executable
+54
@@ -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"
|
||||
Reference in new issue
Block a user