Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • R Rokemon
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Philipp Reich
  • Rokemon
  • Merge requests
  • !2

[AI] prisma für sqlite Datenbank

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Philipp Reich requested to merge agent/work-item-2 into main Sep 29, 2026
  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 16

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 Rokemon mit Mapping auf die bestehende Tabelle rokemon sowie updated_at definieren. 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 mit findUnique, findMany und upsert implementieren sowie close() ü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_PATH nur 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)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: agent/work-item-2