| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- // 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 mysql {
- provider = "mysql"
- url = env("DATABASE_URL")
- }
- model Company {
- id Int @id @default(autoincrement())
- name String @unique
- address String
- vehicules 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
- vehicules 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
- }
|