diff --git a/manage-tenant.sh b/manage-tenant.sh index c5f2586..a4bd320 100755 --- a/manage-tenant.sh +++ b/manage-tenant.sh @@ -595,7 +595,7 @@ case "$COMMAND" in initialize_tenant_database "$TENANT_ID" "trial" echo "Trial tenant '$TENANT_ID' successfully configured. It will expire after $DAYS_ARG day(s) and self-delete." ;; - + remove) FORCE_REMOVE=false TENANT_ARG="${2:-}" @@ -626,26 +626,21 @@ case "$COMMAND" in port_to_remove="" if [ -n "$APP_CONTAINER" ]; then - # Zuerst die MongoDB-Datenbank via PyMongo hart droppen (Erzwungenes Löschen) - docker exec -i "$APP_CONTAINER" python3 - "$TENANT_ID" << 'EOF' > /dev/null 2>&1 - import sys - import os - + # MongoDB-Datenbank via PyMongo direkt im Container droppen + docker exec -i "$APP_CONTAINER" python3 -c ' + import sys, os try: import pymongo tenant_id = sys.argv[1] - - # MongoDB-URI aus der Umgebung holen oder Standard verwenden - mongo_uri = os.environ.get('MONGO_URI', 'mongodb://localhost:27017/') + mongo_uri = os.environ.get("MONGO_URI", "mongodb://localhost:27017/") client = pymongo.MongoClient(mongo_uri, serverSelectionTimeoutMS=2000) - db_name = f"inventar_{tenant_id}" if db_name in client.list_database_names(): client.drop_database(db_name) print(f"Dropped database: {db_name}") except Exception as e: print(f"Error dropping database: {e}", file=sys.stderr) - EOF + ' "$TENANT_ID" > /dev/null 2>&1 # Konfiguration und Port via Host-Funktion bereinigen und Port ermitteln if port_to_remove="$(remove_tenant_port "$TENANT_ID" 2>/dev/null)"; then @@ -676,7 +671,7 @@ case "$COMMAND" in else echo "Removed tenant '$TENANT_ID'. No port mapping was present." fi - ;; + ;; restart-tenant) TENANT_ID="${2:-}"