Witam,
tworzę bazę danych z pomocą Prisma i napotkałem na problem. Mam 2 modele: User i Lesson. W Lesson przechowuję identyfikatory użytkowników, którzy wzięli w niej udział, oraz identyfikator trenera, który również jest modelem User. Chciałbym pobierając Lesson móc od razu dostać użytkowników, którzy wzięli w niej udział i trenera, jednak nie ich identyfikatory, a dane całego użytkownika.

Wiem, że potrzebuję relacji, jednak nie potrafię ich stworzyć.
Mój schema.prisma:

datasource db {
    provider = "postgresql"
    url      = env("DATABASE_URL")
}

generator client {
    provider = "prisma-client-js"
}

enum LessonState {
    ACTIVE
    CLOSED
}

model Lesson {
    id          String      @id @default(uuid()) @map("_id") @db.Uuid
    date        DateTime    @default(now())
    subject     String
    description String
    state       LessonState @default(ACTIVE)
    usersIds    String[]    @db.Uuid
    coachId     String      @unique @db.Uuid
}

enum UserRoles {
    ADMIN
    USER
}

model User {
    id        String    @id @default(uuid()) @map("_id") @db.Uuid
    name      String
    surname   String
    password  String
    login     String    @unique
    birthDate DateTime
    role      UserRoles @default(USER)
    createdAt DateTime  @default(now())
}

Zależy mi na relacjach jednokierunkowych, jednak z tego, co się doszukałem, Prisma nie zezwala na takie, więc jeśli trzeba mogą być dwukierunkowe. Jeśli chodzi o wybór postgresql jest on można powiedzieć losowy - jeśli jakiś inny system pozwala zrobić to, czego potrzebuję mogę na niego przejść. To samo odnosi się do Prisma - mogę użyć innego ORM jeśli obsługuje to, czego potrzebuję.