J'essaie de créer une base de données pour un système de gestion de salle mais je suis confus quant aux relations et je ne trouve aucune ressource utile sur Internet, pouvez-vous me dire s'il y a un problème avec ce script prisma ? Parce que je veux le contrôler dans expressJs et créer une application basée sur celui-ci
generator client { provider = "prisma-client-js" } datasource db { provider = "mysql" url = env("DATABASE_URL") } model Guest { guestId String @id @default(uuid()) name String phone String @unique() address String? nationality String Reservation Reservation[] @relation("GuestReservation") } model Reservation { reservationId Int @id @default(autoincrement()) checkIn DateTime checkOut DateTime Guest Guest @relation("GuestReservation", fields: [guestId], references: [guestId], onDelete: Cascade) guestId String visitors Int Room Room @relation("RoomReservation", fields: [roomId], references: [roomId], onDelete: Cascade) type ReservationType roomId Int Bill Bill? @relation("BillReservation") } enum ReservationType { Booking Contract Booked Canceled } model Room { roomId Int @id @default(autoincrement()) price Float type Type Reservation Reservation[] @relation("RoomReservation") } enum Type { Single Double Triple } model Bill { invoiceNo String @id @default(uuid()) Reservation Reservation @relation("BillReservation", fields: [reservationId], references: [reservationId], onDelete: Cascade) reservationId Int @unique() roomService Float @default(0) paymentMode Payment Service Service[] } enum Payment { Cash Visa } model Service { serviceId String @id @default(uuid()) type ServiceType name String price Float Bill Bill @relation(fields: [billInvoiceNo], references: [invoiceNo], onDelete: Cascade) billInvoiceNo String } enum ServiceType { Bar Laundry }
J'ai essayé d'en créer une approximation pour chaque entité, mais j'ai fini par obtenir des erreurs de relation, comme des clés étrangères ou quelque chose du genre, ce qui signifiait qu'il y avait quelque chose qui n'allait pas dans ma relation.
Votre schéma est valide, mais je recommande de maintenir la cohérence lors de la définition des identifiants des tables. Certains ID de table sont des types de chaîne et certains ID de table sont des types numériques.
Ce qui suit est un exemple de requête pour créer des entités pour le modèle.
Voici la réponse à la requête :