156 lines
4.4 KiB
Plaintext
156 lines
4.4 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model Author {
|
|
sec_uid String @id
|
|
uid String? @unique
|
|
nickname String
|
|
signature String?
|
|
avatar_url String?
|
|
follower_count BigInt @default(0)
|
|
total_favorited BigInt @default(0)
|
|
unique_id String?
|
|
short_id String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
imagePosts ImagePost[]
|
|
videos Video[]
|
|
}
|
|
|
|
model Video {
|
|
aweme_id String @id
|
|
desc String
|
|
preview_title String?
|
|
duration_ms Int
|
|
created_at DateTime
|
|
share_url String
|
|
digg_count BigInt @default(0)
|
|
comment_count BigInt @default(0)
|
|
share_count BigInt @default(0)
|
|
collect_count BigInt @default(0)
|
|
authorId String
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
tags String[]
|
|
video_url String
|
|
height Int?
|
|
width Int?
|
|
cover_url String?
|
|
fps Int?
|
|
raw_json Json?
|
|
comments Comment[]
|
|
author Author @relation(fields: [authorId], references: [sec_uid], onDelete: Cascade)
|
|
transcript VideoTranscript?
|
|
|
|
@@index([authorId])
|
|
@@index([created_at])
|
|
}
|
|
|
|
model CommentUser {
|
|
id String @id @default(cuid())
|
|
nickname String
|
|
avatar_url String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
comments Comment[]
|
|
|
|
@@unique([nickname, avatar_url])
|
|
}
|
|
|
|
model Comment {
|
|
cid String @id
|
|
text String
|
|
digg_count BigInt @default(0)
|
|
created_at DateTime
|
|
videoId String?
|
|
userId String
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
imagePostId String?
|
|
imagePost ImagePost? @relation(fields: [imagePostId], references: [aweme_id], onDelete: Cascade)
|
|
user CommentUser @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
video Video? @relation(fields: [videoId], references: [aweme_id], onDelete: Cascade)
|
|
images CommentImage[]
|
|
|
|
@@index([videoId, created_at])
|
|
@@index([imagePostId, created_at])
|
|
}
|
|
|
|
model CommentImage {
|
|
id String @id @default(cuid())
|
|
commentId String
|
|
url String
|
|
order Int
|
|
width Int?
|
|
height Int?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
comment Comment @relation(fields: [commentId], references: [cid], onDelete: Cascade)
|
|
|
|
@@unique([commentId, order])
|
|
@@index([commentId, order])
|
|
}
|
|
|
|
model ImagePost {
|
|
aweme_id String @id
|
|
desc String
|
|
created_at DateTime
|
|
share_url String
|
|
digg_count BigInt @default(0)
|
|
comment_count BigInt @default(0)
|
|
share_count BigInt @default(0)
|
|
collect_count BigInt @default(0)
|
|
authorId String
|
|
tags String[]
|
|
music_url String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
raw_json Json?
|
|
comments Comment[]
|
|
images ImageFile[]
|
|
author Author @relation(fields: [authorId], references: [sec_uid], onDelete: Cascade)
|
|
|
|
@@index([authorId])
|
|
@@index([created_at])
|
|
}
|
|
|
|
model ImageFile {
|
|
id String @id @default(cuid())
|
|
postId String
|
|
url String
|
|
order Int
|
|
width Int?
|
|
height Int?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
animated String?
|
|
duration Int?
|
|
post ImagePost @relation(fields: [postId], references: [aweme_id], onDelete: Cascade)
|
|
|
|
@@unique([postId, order])
|
|
@@index([postId, order])
|
|
}
|
|
|
|
model VideoTranscript {
|
|
id String @id @default(cuid())
|
|
videoId String @unique
|
|
speech_detected Boolean
|
|
language String?
|
|
audio_type String?
|
|
transcript String[]
|
|
non_speech_summary String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
transcript_zh_tsv Unsupported("tsvector")?
|
|
video Video @relation(fields: [videoId], references: [aweme_id], onDelete: Cascade)
|
|
|
|
@@index([videoId])
|
|
@@index([transcript_zh_tsv], map: "video_transcript_zh_idx", type: Gin)
|
|
}
|