From 5c7bc073fa30d840039bcda8b9e279a30a44cffe Mon Sep 17 00:00:00 2001 From: fds2610 Date: Sun, 29 Mar 2026 13:20:11 +0200 Subject: [PATCH] CLAUDE.md: Migrations-Prozess dokumentiert --- CLAUDE.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index a519698..7ee6bb9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -45,6 +45,22 @@ $this->assertNotEmpty($wert, 'Beschreibung'); | `README.md` | Wenn sich der Funktionsumfang, Tech Stack oder die Installationsanleitung ändert | | `BERICHTE.md` | Bei jeder Änderung an `EuerCalculator.php` oder `UstvaCalculator.php` (Zuordnungsregeln, neue Kennzahlen, geänderte Bedingungen) | +## Datenbankmigrationen + +Schemaänderungen (neue Spalten, Tabellen, Kontenanpassungen) kommen **ausschließlich** als nummerierte Migrations-Datei in `migrations/`: + +- Schema: `NNN_kurze_beschreibung.sql` (NNN = nächste freie dreistellige Nummer, z.B. `011_...`) +- Migrationen werden **nie manuell** eingespielt – `scripts/migrate.php` erledigt das automatisch beim Container-Start +- Jede Migration muss idempotent sein oder mit `IF NOT EXISTS` / `ON DUPLICATE KEY` abgesichert werden + +```bash +# Nächste freie Nummer ermitteln: +ls migrations/ | tail -1 + +# Migration manuell testen (ohne Neustart): +docker compose exec web php scripts/migrate.php +``` + ## Geplante Aufgaben (Cron) Alle planmäßigen Aufgaben (z.B. Ideenagent, Automatisierungen) laufen lokal über die System-Crontab des Nutzers. Für außerplanmäßige Ausführung das jeweilige Skript direkt aufrufen: