#!/usr/bin/env bash # Setzt die DMS-Testumgebung zurueck: droppt die Tenant-Test-Datenbank und # legt sie leer neu an. Noetig, weil mehrere Testpakete (internal/jobqueue, # internal/migrate, ...) dieselbe physische Test-Datenbank ueber # Sitzungsgrenzen hinweg teilen — ohne Reset sammelt sich Zustand # (z.B. schema_migrations-Eintraege) an, der Migrations-/Rollback-Tests # verfaelscht (dieselbe Fehlerklasse wie in NEXARCH Core, siehe # [[project-nexarch-test-infra]]). # # Aufruf: NEXARCH_DMS_TEST_DB_PASSWORD=... TEST_TENANT_DB=dms_tenant_test ./scripts/reset-test-env.sh set -euo pipefail PASS="${NEXARCH_DMS_TEST_DB_PASSWORD:?Setze NEXARCH_DMS_TEST_DB_PASSWORD vor dem Aufruf}" ROLE="${TEST_TENANT_ROLE:-nexarch_dms_test}" DB="${TEST_TENANT_DB:-dms_tenant_test}" export PGPASSWORD="$PASS" psql -h localhost -U "$ROLE" -d postgres -v ON_ERROR_STOP=1 -c "DROP DATABASE IF EXISTS ${DB};" psql -h localhost -U "$ROLE" -d postgres -v ON_ERROR_STOP=1 -c "CREATE DATABASE ${DB};" echo "Testumgebung zurueckgesetzt: ${DB} leer neu angelegt."