// This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { provider = "prisma-client-js" binaryTargets = ["native", "windows"] } datasource db { provider = "mysql" url = env("DATABASE_URL") } model Company { id Int @id @default(autoincrement()) name String @unique address String vehicles Vehicule[] @relation("CompanyVehicules") drivers Driver[] @relation("CompanyDrivers") manager User @relation("CompanyManager", fields: [managerId], references: [id]) managerId Int @unique } model Driver { id Int @id @default(autoincrement()) name String @unique address String telephone String company Company? @relation("CompanyDrivers", fields: [companyId], references: [id]) companyId Int? user User @relation("UserDriver", fields: [userId], references: [id]) userId Int @unique vehicles Vehicule[] @relation("DriverVehicules") } model User { id Int @id @default(autoincrement()) name String otherName String address String telephone String email String password String reservations Reservation[] @relation("UserReservations") driver Driver? @relation("UserDriver") managedCompany Company? @relation("CompanyManager") } model Vehicule { id Int @id @default(autoincrement()) number_places Int color String type String immatriculation String @unique model String company Company @relation("CompanyVehicules", fields: [companyId], references: [id]) companyId Int driver Driver @relation("DriverVehicules", fields: [driverId], references: [id]) driverId Int places Place[] @relation("VehiculePlaces") trajets Trajet[] @relation("VehiculeTrajets") } model Place { id Int @id @default(autoincrement()) number Int vehicule Vehicule @relation("VehiculePlaces", fields: [vehiculeId], references: [id]) vehiculeId Int reservations Reservation[] @relation("PlaceReservations") } model Trajet { id Int @id @default(autoincrement()) departAt DateTime arriveAt DateTime depart String arrive String vehicule Vehicule @relation("VehiculeTrajets", fields: [vehiculeId], references: [id]) vehiculeId Int reservations Reservation[] @relation("TrajetReservations") } model Reservation { id Int @id @default(autoincrement()) dateAt DateTime place Place @relation("PlaceReservations", fields: [placeId], references: [id]) placeId Int user User @relation("UserReservations", fields: [userId], references: [id]) userId Int trajet Trajet @relation("TrajetReservations", fields: [trajetId], references: [id]) trajetId Int }