aether-framework/docker/README.md
Jerrit Fritzsche e4b82dd685 Aether-Framework: Fachmodule, Admin-Panel und Docker-Datenbank
- aether-medical: Stationen/Belegung, Intensivstation, Blutbank, Fuhrpark,
  Nachrichten/Aushänge, Berichte und Textbausteine (server + NUI)
- aether-admin: vollständiges Server-Admin-Panel als echtes FiveM-Resource,
  an aether-core gekoppelt (Rechte über aether_users.admin_group), mit
  WebRTC-Live-Kameras (Bildschirmfreigabe) und separatem Media-Server (SFU)
- Prototypen admin/ vervollständigt
- SQL-Schema aether_admin.sql
- Docker-Compose mit MariaDB und idempotenter Auto-Migration (schema_migrations)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 18:55:32 +02:00

49 lines
1.7 KiB
Markdown

# Datenbank per Docker
Startet eine MariaDB und spielt alle Schemas automatisch ein. Der FiveM-
Server läuft dabei **wie gewohnt auf dem Host** und verbindet sich über
`127.0.0.1:3306`.
## Start
```bash
cp .env.example .env # Zugangsdaten anpassen (mind. Passwörter ändern)
docker compose up -d # DB starten + migrieren
docker compose logs -f migrate
```
Beim ersten `up` wird die Datenbank angelegt und alle Schemas eingespielt.
Bei jedem weiteren `up` prüft der Migrator die Tabelle `schema_migrations`
und überspringt, was schon drin ist — mehrfaches Starten ist gefahrlos.
## Verbindung im FiveM-Server
In `server.cfg` (Benutzer/Passwort/Port wie in der `.env`):
```cfg
set mysql_connection_string "mysql://aether:aether@127.0.0.1:3306/aether?charset=utf8mb4"
```
## Neue Migrationen hinzufügen
- **Neues Modul-Schema:** einfach eine `.sql` nach `sql/` legen — der
Migrator nimmt sie beim nächsten `up` automatisch mit (idempotent, also
am besten mit `CREATE TABLE IF NOT EXISTS`).
- **Nachtrag/Änderung an bestehenden Tabellen:** als `sql/updates/00X_….sql`
ablegen. Diese laufen fehlertolerant (ein „Duplicate column" auf einer
frischen DB wird nur vermerkt, nicht als Fehler gewertet).
Reihenfolge: `aether.sql` zuerst, dann die übrigen Basis-Schemas, dann
`updates/*.sql`.
## Nützliche Befehle
```bash
docker compose --profile tools up -d # zusätzlich Adminer auf :8080
docker compose exec db mariadb -uroot -p aether # DB-Shell
docker compose down # stoppen (Daten bleiben)
docker compose down -v # stoppen + Daten löschen (frisch)
```
Nach `down -v` ist die DB leer — das nächste `up` migriert komplett neu.