Files
IBKRTrader/scripts
Richard c5ff4e17aa @
DB-Provisioning-Skripte (Drop-Alt-Tabellen + EF-Migrationen anwenden)

- scripts/drop-app-tables.sql: entfernt alte (snake_case) core_/ct_-Tabellen + EF-Historie,
  damit die EF-Migrationen kollisionsfrei angewendet werden koennen
- scripts/provision-db.ps1: liest Connection aus appsettings.Local.json, setzt IBKRTRADER_MYSQL,
  wendet CoreDbContext- + CongressTradingDbContext-Migrationen an (dotnet ef database update)
- scripts/README.md: Ablauf + Sicherheitshinweise (Passwort rotieren, Master-Key)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@
2026-07-29 09:47:06 +02:00
..
@
2026-07-29 09:47:06 +02:00
@
2026-07-29 09:47:06 +02:00
@
2026-07-29 09:47:06 +02:00

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:

mysql -h <host> -u <user> -p <db> < 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:

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.