Files
SnippetsManager/prisma/schema.prisma
T

69 lines
1.8 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
password String
name String
picture_path String
created_at DateTime @default(now())
updated_at DateTime @updatedAt
Snippet Snippet[]
Category Category[]
Tag Tag[]
}
model Snippet {
id Int @id @default(autoincrement())
title String
code String
created_at DateTime @default(now())
updated_at DateTime @updatedAt
user_id Int
user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
category_id Int
category Category @relation(fields: [category_id], references: [id])
language_id Int
language Language @relation(fields: [language_id], references: [id])
Snippet_tag Snippet_tag[]
}
model Category {
id Int @id @default(autoincrement())
name String
user_id Int
user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
Snippet Snippet[]
}
model Language {
id Int @id @default(autoincrement())
name String @unique
Snippet Snippet[]
}
model Snippet_tag {
tag_id Int
tag Tag @relation(fields: [tag_id], references: [id])
snippet_id Int
snippet Snippet @relation(fields: [snippet_id], references: [id])
@@id([tag_id, snippet_id])
}
model Tag {
id Int @id @default(autoincrement())
name String
user_id Int
user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
Snippet_tag Snippet_tag[]
}