server/prisma/schema.prisma
2024-05-09 22:03:21 +02:00

51 lines
1.2 KiB
Plaintext

// CHEAT SHEET
// 1. Create a new Prisma project
// npx prisma init
// 2. Create a new database schema
// npx prisma db push
// 3. Generate Prisma Client
// npx prisma generate
// 4. Create a new migration
// npx prisma migrate dev --name init
// 5. Apply the migration
// npx prisma migrate deploy
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
username String @unique
password String
position_x Int?
position_y Int?
rotation Int?
zoneId Int? @unique
zone Zone? @relation(fields: [zoneId], references: [id])
chatlogs Chatlogs[]
}
model Zone {
id Int @id @default(autoincrement())
name String
width Int
height Int
tiles Json
users User[] // One-to-many relation: A map can have multiple users
chatlogs Chatlogs[]
}
model Chatlogs {
id Int @id @default(autoincrement())
userId Int
message String
zoneId Int
zone Zone @relation(fields: [zoneId], references: [id])
user User @relation(fields: [userId], references: [id])
}