Skip to content
This repository has been archived by the owner on Oct 4, 2024. It is now read-only.

Auswahl / initiale Konfiguration eines ORMs #66

Closed
Tracked by #61 ...
henrybrink opened this issue Apr 1, 2024 · 2 comments
Closed
Tracked by #61 ...

Auswahl / initiale Konfiguration eines ORMs #66

henrybrink opened this issue Apr 1, 2024 · 2 comments
Assignees
Labels
backend Issues related to the backend required This needs to be implemented

Comments

@henrybrink
Copy link
Collaborator

henrybrink commented Apr 1, 2024

Um die Datenbank möglichst gut von der Anwendungslogik zu trennen wird ein ORM verwendet.

Dafür gibt es mehrere Optionen:

  • TypeORM
  • MikroORM
  • Prisma ORM
  • Sequalize
    sowie weitere nicht genannte ORMs.

Welches ORM zum Einsatz kommt wird derzeit evaluiert.

Bei der Initialen Konfiguration des ORMs soll die User-Entität bereitgestellt werden.

@henrybrink henrybrink self-assigned this Apr 1, 2024
@henrybrink henrybrink added required This needs to be implemented backend Issues related to the backend labels Apr 1, 2024
@henrybrink
Copy link
Collaborator Author

Bei der Auswahl des ORMs konnte folgendes Ergebnis gefunden werden: Prisma ORM

Die Entscheidung für Prisma erfolgte, weil dieses die umfangreichste Dokumentation, eine große Community, sowie eine native Typescript unterstützung mitbrachte.

TypeORM schied aus, da Seeding nicht direkt unterstützt wurde (bzw. die dafür zur Verfügung stehende Library nicht gewartet wurde). MikroORM hat nur eine kleine Community & einen Maintainer (nicht Zukunftssicher). Sequelize wurde nicht weiter betrachtet.

Allerdings hat auch Prisma Nachteile, besonders Felder deren Wert beim setzen manuell berechnet werden muss (z.B. Passwörter > Passwort Hashes) sind damit schwerer umzusetzen, dementsprechend muss diese Arbeit bereits im Repository erfolgen.

@henrybrink
Copy link
Collaborator Author

Die Entscheidung ist auf Prisma gefallen, dieses ist durch #76 bereits implementiert.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backend Issues related to the backend required This needs to be implemented
Projects
None yet
Development

No branches or pull requests

1 participant