Docs: Update-Anleitung in README.md vervollständigt

This commit is contained in:
fds2610-bot 2026-04-11 11:58:12 +02:00
parent bd97e6d278
commit f0438ca463

View file

@ -249,31 +249,100 @@ Seit dem 11.04.2026 bin ich mit meiner Software für mich selber produktiv. Ab d
Datenbankmigrationen werden **automatisch** beim nächsten Container-Start eingespielt – kein manueller Eingriff nötig. Das Script `scripts/migrate.php` prüft beim Start, welche Migrations-Dateien noch nicht angewendet wurden, und führt sie der Reihe nach aus.
#### Ohne Systemd-Service (manuell)
### Vollständige Update-Anleitung
Die folgenden Schritte sichern einen vollständigen und sicheren Update-Ablauf. Alle Befehle im Steuerkram-Verzeichnis ausführen.
#### Schritt 1 – Datenbank sichern
Vor jedem Update ein Backup erstellen:
```bash
bash scripts/backup.sh
```
Das Backup landet in `backups/`. Alternativ manuell:
```bash
docker compose exec db mariadb-dump -u steuerkram -psteuerkram steuerkram \
> ~/steuerkram_backup_$(date +%Y%m%d_%H%M).sql
```
#### Schritt 2 – Aktuellen Code holen
```bash
git pull
```
Prüfen, ob neue Migrations-Dateien enthalten sind:
```bash
git log --oneline -5
```
#### Schritt 3 – Container neu bauen und starten
```bash
docker compose up -d --build
```
Der Web-Container führt `scripts/migrate.php` automatisch beim Start aus. Die Ausgabe ist im Container-Log sichtbar:
Dieser Befehl baut das PHP-Image neu (falls sich `Dockerfile` oder `composer.json` geändert haben) und startet alle Container. Der Web-Container führt beim Start automatisch `scripts/migrate.php` aus.
#### Schritt 4 – Migrationen prüfen
```bash
docker compose logs web
docker compose logs web | grep migrate
```
#### Mit Systemd-Service
Erwartete Ausgabe bei erfolgreicher Migration:
```
[migrate] Starte Migrations-Prüfung...
[migrate] Führe aus: NNN_beschreibung.sql
[migrate] N Migration(en) erfolgreich angewendet.
```
Oder wenn alles bereits aktuell ist:
```
[migrate] Datenbank ist aktuell – keine Migrationen notwendig.
```
Falls die Ausgabe einen Fehler enthält, das Backup aus Schritt 1 einspielen:
```bash
docker compose exec -T db mariadb -u steuerkram -psteuerkram steuerkram \
< ~/steuerkram_backup_YYYYMMDD_HHMM.sql
```
#### Schritt 5 – Anwendung prüfen
```bash
docker compose ps # alle Container müssen "running" sein
docker compose logs web # keine PHP-Fehler oder Exceptions
```
Anschließend im Browser unter `http://localhost:8080` (oder dem konfigurierten Port) einloggen und stichprobenartig Belege und Buchungen prüfen.
---
#### Ohne Systemd-Service (Kurzform)
```bash
bash scripts/backup.sh
git pull
docker compose up -d --build
docker compose logs web | grep migrate
```
#### Mit Systemd-Service (Kurzform)
```bash
bash scripts/backup.sh
git pull
docker compose build
sudo systemctl restart steuerkram
```
Migrations-Ausgabe im Journal:
```bash
journalctl -u steuerkram -f
journalctl -u steuerkram | grep migrate
```
## GoBD-Hinweise