- 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>
49 lines
1.7 KiB
Markdown
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.
|