Fix?
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
set -e
|
||||
|
||||
# Config
|
||||
CONTAINER_NAME="online-energieausweis-database-1"
|
||||
CONTAINER_NAME="database"
|
||||
DB_USER="main"
|
||||
DB_NAME="main"
|
||||
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
|
||||
@@ -39,40 +39,16 @@ fi
|
||||
|
||||
if [[ "$SKIP_BACKUP" == false ]]; then
|
||||
echo "📦 Backup wird erstellt..."
|
||||
docker exec -t "$CONTAINER_NAME" pg_dumpall -c -U "$DB_USER" | brotli > "$FILE_NAME"
|
||||
docker exec -t "$CONTAINER_NAME" pg_dumpall -c -U "$DB_USER" | brotli --quality=1 > "$FILE_NAME"
|
||||
echo "✅ Backup abgeschlossen: $FILE_NAME"
|
||||
fi
|
||||
|
||||
echo "🧨 Alle Daten aus allen Tabellen werden gelöscht..."
|
||||
|
||||
# Generate and run TRUNCATE statements for all tables in the public schema
|
||||
docker exec -i "$CONTAINER_NAME" psql -U "$DB_USER" "$DB_NAME" <<'EOSQL'
|
||||
DO $$
|
||||
DECLARE
|
||||
r RECORD;
|
||||
sql TEXT := '';
|
||||
BEGIN
|
||||
-- Truncate all tables
|
||||
FOR r IN
|
||||
SELECT tablename
|
||||
FROM pg_tables
|
||||
WHERE schemaname = 'public'
|
||||
LOOP
|
||||
sql := sql || FORMAT('TRUNCATE TABLE public.%I CASCADE;', r.tablename);
|
||||
END LOOP;
|
||||
|
||||
-- Drop all sequences
|
||||
FOR r IN
|
||||
SELECT sequence_name
|
||||
FROM information_schema.sequences
|
||||
WHERE sequence_schema = 'public'
|
||||
LOOP
|
||||
sql := sql || FORMAT('DROP SEQUENCE IF EXISTS public.%I CASCADE;', r.sequence_name);
|
||||
END LOOP;
|
||||
|
||||
EXECUTE sql;
|
||||
END
|
||||
$$;
|
||||
docker exec -i "$CONTAINER_NAME" psql -U "$DB_USER" "postgres" <<'EOSQL'
|
||||
DROP DATABASE IF EXISTS main;
|
||||
CREATE DATABASE main WITH OWNER main ENCODING 'UTF8';
|
||||
EOSQL
|
||||
|
||||
echo "✅ Alle Tabellen gelöscht und Schema zurückgesetzt."
|
||||
|
||||
Reference in New Issue
Block a user