Summary
Prisma wird in der bestehenden Persistenzbibliothek als alleiniger SQLite-Zugriff eingeführt. Annahme: Bestehende Datenbanken mit der Tabelle rokemon müssen kompatibel bleiben; daher bildet das Prisma-Modell die aktuellen Tabellen- und Spaltennamen exakt ab. Da Prisma asynchron arbeitet, werden Repository-Vertrag und Aufrufer entsprechend umgestellt.
Changes
-
world-persistence: SQLite-Datasource und Modell
Rokemonmit Mapping auf die bestehende Tabellerokemonsowieupdated_atdefinieren. Eine Baseline-Migration hält die aktuelle STRICT-Tabellenstruktur reproduzierbar fest. -
world-persistence: Direkten
node:sqlite-Zugriff durch Prisma Client ersetzen. Die bestehende Repository-Klasse und Domain-Mappings beibehalten, Queries mitfindUnique,findManyundupsertimplementieren sowieclose()über$disconnect()abwickeln. - world-persistence: Prisma Client und Prisma CLI ergänzen, Client-Generierung sowie Migration/Schema-Validierung als Nx-/Package-Skripte konfigurieren und sicherstellen, dass Prisma vor Build und Tests generiert wird.
-
world-application: Den bestehenden
WorldRepository-Vertrag und seine Use Cases auf Promise-basierte Methoden umstellen, damit Prisma ohne synchrone Adapter verwendet wird. -
world-server: SQLite-Pfad in eine Prisma-kompatible
file:-URL überführen, asynchrone Use Cases/Repository-Aufrufe awaiten und Prisma-Verbindung beim Shutdown schließen. Build- und Container-Konfiguration so ergänzen, dass generierter Client und SQLite-Engine zur Laufzeit vorhanden sind. -
workspace: Die Prisma-Datenbankkonfiguration als
DATABASE_URL=file:...dokumentieren;ROKEMON_DATABASE_PATHnur entfernen, wenn alle Aufrufer vollständig migriert sind.
Tests
-
nx affected -t lint- passed -
nx affected -t test- passed -
nx affected -t build- passed
AI Review
Approved: yes
Work Item
#2 (closed) - prisma für sqlite Datenbank
Closes #2 (closed)