Richard and Claude Opus 4.8
1b51872f00
Phase 7: Tests erweitert + Mongo-Parser extrahiert (testbar)
...
Tests (jetzt 48 grün):
- DbContextMappingTests: sichert core_/mod_-Tabellennamen, Position-Composite-Key,
TrackedTrader-Key, ClosedTradeRow nicht gemappt, AccountState.OpenPositions ignoriert.
- PositionRepositoryTests: Live/Demo-Trennung, Upsert setzt Account+Demo-Flag,
Update ohne Duplikat, DeleteLive, DropDemo.
- MarketRepositoryTests: GetActive filtert Closed, Upsert-Update, FindByTokenId.
- TradeLogRepositoryTests: GetRecent (Sortierung+Limit), Find-Predikat, Guid-Id unique.
- MongoExportParserTests: String-Dezimale, null->"", fehlende Felder->Default,
AssignedAccountIds-Array, Category-Default, Nicht-Array->leer.
Refactor:
- Mongo-Export-Parsing aus ConfigMigrator in testbare Klasse
PolyTrader.Modules.CopyTrading.ConfigImport.MongoExportParser ausgelagert
(ParseAccounts -> Account+Settings, ParseTraders). ConfigMigrator nutzt sie;
--migrate-json end-to-end verifiziert (3/3/32).
- PolyTrader.App.csproj: tests/** vom Default-Glob ausgeschlossen (App zog sonst
die Testdateien mit rein -> doppelte AssemblyInfo/Xunit-Fehler).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-06 11:52:52 +02:00
Richard and Claude Opus 4.8
b951b912f4
Phase 6 (Stufe 6): MongoDB vollstaendig entfernt
...
- Legacy-Form stillgelegt: frm_main(.Designer/.resx) + frm_analytics(.Designer/.resx)
geloescht, 'Open Legacy'-Menue aus LauncherForm entfernt.
- Program.cs: IMongoDatabase-Registrierung + closed_trades-Cleanup weg;
Trade-Nummerierung liest jetzt hoechste TradeId aus ICopyTradeLogRepository.
- StartupHydrationService: Mongo-/Bson-Fallback entfernt (Settings kommen aus
dem Repo; fehlende Accounts erhalten Default-Settings).
- Alle Mongo*Repository (Core 4 + Modul 4) geloescht; DI-Zweige auf EF/MySQL
reduziert (AddCorePersistence, CopyTradingModule).
- ConfigMigrator: Mongo-Pfad (Run/MigrateSettings) entfernt; nur noch
RunFromJson + VerifyMySql (kein Mongo-Treiber mehr).
- Modelle: [BsonId] entfernt (EF-Keys via HasKey); ObjectId-Defaults -> Guid.
- LiteDB-Shim (MongoDbLiteDBShim) geloescht; MongoDB.Driver- + LiteDB-Pakete
aus App/Core entfernt; stale usings + user-sichtbare Strings bereinigt.
- DatabaseOptions/appsettings.json: Mongo-Provider/Connection-Felder entfernt.
- Build gruen; --verify-mysql bestaetigt 3 Accounts/3 Settings/32 Trader/2344 Markets.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-05 18:34:17 +02:00
Richard and Claude Opus 4.8
d227d24ca8
Phase 6 (Stufe 5): Default-Provider auf MySQL + Readback-Verifikation
...
- appsettings.json: Database:Provider = "MySql" (voller Umstieg).
- ConfigMigrator.VerifyMySql + CLI --verify-mysql: liest Accounts,
Settings, Trader, Markets aus MySQL zurueck.
- Verifiziert: 3 Accounts, 3 Settings, 32 Trader (23 aktiv),
2344 Markets; Werte/AssignedAccountIds stimmen mit Exporten ueberein.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-05 14:59:39 +02:00
Richard and Claude Opus 4.8
9dbecc9514
Phase 6 (Stufe 4b): Config-Migration aus mongoexport-JSON
...
- ConfigMigrator.RunFromJson: importiert Accounts, Copytrading-Settings
(Limit-Felder aus dem Alt-Account-Dokument) und Master-Trader aus
PolyTraderDB.accounts.json / .trackers.json nach MySQL. Idempotent.
- Robuste JSON-Helfer (mongoexport: Dezimale als Strings, null moeglich).
- CLI: PolyTrader.App --migrate-json [ordner=MongoDB].
- .gitignore: MongoDB/ (Exporte enthalten Secrets) ausgeschlossen.
- Ergebnis: 3 Accounts, 3 Settings, 32 Master-Trader in MySQL.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-05 14:54:07 +02:00
Richard and Claude Opus 4.8
e21a3515d1
Phase 6 (Stufe 4): einmalige Config-Migration Mongo -> MySQL
...
- ConfigMigrator: kopiert Accounts, aktive Markets, Master-Trader,
Copytrading-Settings (mit Fallback auf Alt-Felder im accounts-Dokument)
und Demo-Positionen; Historie startet leer. Idempotent via Upserts.
- Getrennte Mini-Container fuer Quelle (Mongo) und Ziel (EF/MySQL),
unabhaengig vom Provider-Toggle.
- Aufruf: PolyTrader.App --migrate-config (kein UI-Start).
- Erstlauf: 2344 Markets migriert; Accounts/Trader/Settings in lokaler
Mongo leer (nichts zu migrieren).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-05 14:36:36 +02:00