# IBKRTrader – DB-Provisioning Die App legt das DB-Schema **nicht** zur Laufzeit an (EF-Migrationen werden extern angewendet). Einmalig beim Aufsetzen einer DB: ## 1. (Nur falls nötig) Alt-Tabellen entfernen Wenn frühere Läufe bereits `core_*`/`ct_*`-Tabellen im alten (snake_case) Schema angelegt haben, kollidieren sie mit dem EF-Schema. Dann einmalig ausführen: ```bash mysql -h -u -p < scripts/drop-app-tables.sql ``` > ⚠️ Löscht Daten in diesen Tabellen. Bei frischem Aufsetzen unkritisch. ## 2. Migrationen anwenden Liest den Connection-String aus `appsettings.Local.json` und wendet beide Contexts an: ```bash powershell -ExecutionPolicy Bypass -File scripts/provision-db.ps1 ``` Voraussetzung: `dotnet-ef` (`dotnet tool install --global dotnet-ef`). Angelegt werden: `core_position`, `core_trade_history`, `core_budget`, `core_worker_log`, `core_settings`, `core_ibkr_instruments`, `core_ibkr_market_data`, `core_ibkr_external_identifiers`, `ct_congressMember`, `ct_trade` sowie `__EFMigrationsHistory`. ## Sicherheit - **DB-Passwort rotieren** – das ursprüngliche liegt in der Git-Historie (Commit `ebeb035`). - Optional Master-Key setzen (`IBKRTRADER_MASTER_KEY` oder Datei `master.key`) für die at-rest-Verschlüsselung künftiger Credentials.