Schema to ERD generator
~by atharva
prisma
drizzle
Generate ERD
datasource db { provider = "postgresql" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" } model User { id Int @id @default(autoincrement()) email String @unique name String profile Profile? posts Post[] comments Comment[] teams TeamMember[] orders Order[] friendshipsInitiated Friendship[] @relation("UserAsInitiator") friendshipsReceived Friendship[] @relation("UserAsReceiver") assignedTasks Task[] @relation("UserTasks") createdAt DateTime @default(now()) } model Profile { id Int @id @default(autoincrement()) bio String? avatarUrl String? user User @relation(fields: [userId], references: [id]) userId Int @unique } model Post { id Int @id @default(autoincrement()) title String content String? author User @relation(fields: [authorId], references: [id]) authorId Int comments Comment[] tags Tag[] @relation("PostTags") createdAt DateTime @default(now()) } model Comment { id Int @id @default(autoincrement()) content String post Post @relation(fields: [postId], references: [id]) postId Int author User @relation(fields: [authorId], references: [id]) authorId Int createdAt DateTime @default(now()) } model Tag { id Int @id @default(autoincrement()) name String @unique posts Post[] @relation("PostTags") } model Team { id Int @id @default(autoincrement()) name String members TeamMember[] projects Project[] } model TeamMember { id Int @id @default(autoincrement()) user User @relation(fields: [userId], references: [id]) userId Int team Team @relation(fields: [teamId], references: [id]) teamId Int @@unique([userId, teamId]) } model Project { id Int @id @default(autoincrement()) name String team Team @relation(fields: [teamId], references: [id]) teamId Int tasks Task[] } model Task { id Int @id @default(autoincrement()) title String project Project @relation(fields: [projectId], references: [id]) projectId Int assignee User? @relation("UserTasks", fields: [assigneeId], references: [id]) assigneeId Int? } model Order { id Int @id @default(autoincrement()) user User @relation(fields: [userId], references: [id]) userId Int products OrderItem[] createdAt DateTime @default(now()) } model OrderItem { id Int @id @default(autoincrement()) order Order @relation(fields: [orderId], references: [id]) orderId Int product Product @relation(fields: [productId], references: [id]) productId Int quantity Int } model Product { id Int @id @default(autoincrement()) name String price Float orders OrderItem[] } model Friendship { id Int @id @default(autoincrement()) user User @relation("UserAsInitiator", fields: [userId], references: [id]) userId Int friend User @relation("UserAsReceiver", fields: [friendId], references: [id]) friendId Int createdAt DateTime @default(now()) @@unique([userId, friendId]) }