From a4b74ab480045512699b5eddc4c9fe3bf3dca819 Mon Sep 17 00:00:00 2001 From: Gemini Agent Date: Sun, 7 Dec 2025 08:06:24 +0000 Subject: [PATCH] =?UTF-8?q?Docs=20&=20Fix:=20packliste.sql=20aktualisiert,?= =?UTF-8?q?=20Auto-Migration=20und=20Changelog=20erg=C3=A4nzt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++++ packliste.sql | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f6f4bcc..7df5495 100644 --- a/README.md +++ b/README.md @@ -184,3 +184,9 @@ Das Projekt basiert auf bewährten Web-Standards: * Fächer können nun direkt mit Artikeln verknüpft werden (z.B. "Hüftgurttasche"). * Diese "Zusatztaschen" werden in der Packliste automatisch als Container angelegt. * Das Gewicht der Zusatztaschen wird automatisch zum Rucksack-Gesamtgewicht addiert. + * **Rucksack-Kategorie:** Rucksäcke können nun einer Kategorie (z.B. "Transport") zugewiesen werden, damit sie in der Statistik korrekt auftauchen. +* **Fixes:** + * Datenbank-Selbstheilung (`Auto-Migration`) in `backpacks.php` und `edit_backpack.php` integriert. + * `packliste.sql` aktualisiert. + * Anzeige-Probleme bei Dropdowns behoben. + * SQL-Fehler in der Statistik-Berechnung korrigiert. diff --git a/packliste.sql b/packliste.sql index 419ee21..f94c626 100644 --- a/packliste.sql +++ b/packliste.sql @@ -75,9 +75,12 @@ CREATE TABLE `backpack_compartments` ( `backpack_id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `sort_order` int(11) DEFAULT 0, + `linked_article_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `backpack_id` (`backpack_id`), - CONSTRAINT `backpack_compartments_ibfk_1` FOREIGN KEY (`backpack_id`) REFERENCES `backpacks` (`id`) ON DELETE CASCADE + KEY `fk_bc_article` (`linked_article_id`), + CONSTRAINT `backpack_compartments_ibfk_1` FOREIGN KEY (`backpack_id`) REFERENCES `backpacks` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_bc_article` FOREIGN KEY (`linked_article_id`) REFERENCES `articles` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -108,10 +111,14 @@ CREATE TABLE `backpacks` ( `weight_grams` int(11) DEFAULT 0, `volume_liters` int(11) DEFAULT 0, `image_url` varchar(255) DEFAULT NULL, + `product_url` varchar(255) DEFAULT NULL, + `category_id` int(11) DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `user_id` (`user_id`), - CONSTRAINT `backpacks_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE + KEY `fk_bp_category` (`category_id`), + CONSTRAINT `backpacks_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_bp_category` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */;