Cleanup: Consolidated database schema into packliste.sql and updated README
This commit is contained in:
@@ -47,7 +47,7 @@ Eine moderne, webbasierte Anwendung zur Verwaltung von Packlisten für Wanderung
|
||||
|
||||
2. **Datenbank einrichten:**
|
||||
* Erstelle eine leere Datenbank (z.B. `packliste`).
|
||||
* Importiere `packliste.sql` und anschließend `mysql_update.sql` (für die neuesten Features).
|
||||
* Importiere die Datei `packliste.sql` in diese Datenbank (z.B. via phpMyAdmin oder Konsole).
|
||||
|
||||
3. **Konfiguration:**
|
||||
* Erstelle eine Datei `config.ini` **außerhalb** des öffentlichen Web-Verzeichnisses (z.B. ein Verzeichnis höher als `index.php`).
|
||||
@@ -60,11 +60,6 @@ Eine moderne, webbasierte Anwendung zur Verwaltung von Packlisten für Wanderung
|
||||
```
|
||||
* *Hinweis:* Die Anwendung sucht standardmäßig unter `../config.ini`.
|
||||
|
||||
### Upgrade (Vorhandene Installation)
|
||||
|
||||
1. Führe das SQL-Skript `mysql_update.sql` auf deiner Datenbank aus.
|
||||
2. Überschreibe die PHP-Dateien mit der neuesten Version.
|
||||
|
||||
### Docker Deployment
|
||||
|
||||
Die Anwendung ist vollständig containerisiert ("Dockerized"). Du kannst sie direkt als Container starten und mit einer beliebigen externen MySQL/MariaDB-Datenbank verbinden.
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
-- Datenbank-Update: Rucksack-Feature
|
||||
-- Führe dieses Skript aus, um eine bestehende Installation zu aktualisieren.
|
||||
|
||||
-- 1. Neue Tabelle für Rucksäcke
|
||||
CREATE TABLE IF NOT EXISTS backpacks (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id INT NOT NULL,
|
||||
household_id INT DEFAULT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
manufacturer VARCHAR(255),
|
||||
model VARCHAR(255),
|
||||
weight_grams INT DEFAULT 0,
|
||||
volume_liters INT DEFAULT 0,
|
||||
image_url VARCHAR(255),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
UNIQUE KEY unique_backpack_name (user_id, household_id, name)
|
||||
);
|
||||
|
||||
-- 2. Neue Tabelle für Rucksack-Fächer
|
||||
CREATE TABLE IF NOT EXISTS backpack_compartments (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
backpack_id INT NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
sort_order INT DEFAULT 0,
|
||||
FOREIGN KEY (backpack_id) REFERENCES backpacks(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- 3. Neue Tabelle für die Zuweisung von Rucksäcken zu Trägern pro Liste
|
||||
CREATE TABLE IF NOT EXISTS packing_list_carriers (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
packing_list_id INT NOT NULL,
|
||||
user_id INT NOT NULL,
|
||||
backpack_id INT DEFAULT NULL,
|
||||
FOREIGN KEY (packing_list_id) REFERENCES packing_lists(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (backpack_id) REFERENCES backpacks(id) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
-- 4. Anpassung der packing_list_items Tabelle
|
||||
-- Hinzufügen der Spalten für Rucksack-Referenzen und freie Namen (für Container)
|
||||
ALTER TABLE packing_list_items ADD COLUMN IF NOT EXISTS backpack_id INT DEFAULT NULL;
|
||||
ALTER TABLE packing_list_items ADD COLUMN IF NOT EXISTS backpack_compartment_id INT DEFAULT NULL;
|
||||
ALTER TABLE packing_list_items ADD COLUMN IF NOT EXISTS name VARCHAR(255) DEFAULT NULL;
|
||||
|
||||
-- Foreign Keys setzen
|
||||
ALTER TABLE packing_list_items ADD CONSTRAINT fk_pli_backpack FOREIGN KEY (backpack_id) REFERENCES backpacks(id) ON DELETE SET NULL;
|
||||
ALTER TABLE packing_list_items ADD CONSTRAINT fk_pli_compartment FOREIGN KEY (backpack_compartment_id) REFERENCES backpack_compartments(id) ON DELETE SET NULL;
|
||||
|
||||
-- WICHTIG: article_id muss NULL sein dürfen (für reine Container-Items)
|
||||
ALTER TABLE packing_list_items MODIFY COLUMN article_id INT NULL;
|
||||
517
packliste.sql
Normal file
517
packliste.sql
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user