# 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.