152 lines
5.4 KiB
Plaintext
152 lines
5.4 KiB
Plaintext
datasource db {
|
|
provider = "mysql"
|
|
}
|
|
|
|
model attachment {
|
|
id Int @id @default(autoincrement()) @db.UnsignedInt
|
|
note_id Int? @db.UnsignedInt
|
|
user_id Int @db.UnsignedInt
|
|
attachment_type Int? @db.UnsignedInt
|
|
text String? @db.MediumText
|
|
url String? @default("") @db.VarChar(1000)
|
|
last_indexed Int?
|
|
file_location String? @db.VarChar(500)
|
|
visible Int? @default(1) @db.TinyInt
|
|
scrape_state Int @default(2) @db.TinyInt
|
|
scrape_attempts Int @default(0) @db.TinyInt
|
|
enqueued_at Int?
|
|
|
|
@@index([scrape_state, enqueued_at], map: "attachment_scrape_state")
|
|
@@index([attachment_type], map: "attachment_type")
|
|
@@index([note_id], map: "note_id")
|
|
@@index([user_id], map: "user_id")
|
|
@@fulltext([text], map: "attachment_text_index")
|
|
}
|
|
|
|
model attachment_type {
|
|
id Int @id @default(autoincrement()) @db.UnsignedInt
|
|
mime_type String? @db.VarChar(500)
|
|
extension String? @db.VarChar(10)
|
|
name String? @db.VarChar(50)
|
|
}
|
|
|
|
model note {
|
|
id Int @id @default(autoincrement()) @db.UnsignedInt
|
|
user_id Int? @db.UnsignedInt
|
|
note_raw_text_id Int?
|
|
opened Int?
|
|
created Int?
|
|
pinned Int? @default(0)
|
|
archived Int? @default(0)
|
|
trashed Int? @default(0) @db.TinyInt
|
|
color String? @db.VarChar(500)
|
|
shared Int? @default(0)
|
|
share_user_id Int?
|
|
quick_note Int? @default(0)
|
|
indexed Int? @default(0) @db.TinyInt
|
|
snippet String? @db.VarChar(1300)
|
|
snippet_salt String? @db.VarChar(1300)
|
|
encrypted_share_password_key String? @db.VarChar(1300)
|
|
|
|
@@index([user_id], map: "user_note")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model note_raw_text {
|
|
id Int @id @default(autoincrement())
|
|
text String? @db.LongText
|
|
updated BigInt?
|
|
salt String? @db.VarChar(1300)
|
|
last_decrypted_date Int?
|
|
decrypt_attempts_count Int? @default(0)
|
|
}
|
|
|
|
model note_tag {
|
|
id Int @id @default(autoincrement()) @db.UnsignedInt
|
|
note_id Int? @db.UnsignedInt
|
|
tag_id Int? @db.UnsignedInt
|
|
user_id Int? @db.UnsignedInt
|
|
|
|
@@index([note_id], map: "note_id")
|
|
@@index([tag_id], map: "tag_id")
|
|
@@index([user_id], map: "user_id")
|
|
}
|
|
|
|
model scrape_cache {
|
|
id Int @id @default(autoincrement()) @db.UnsignedInt
|
|
url_hash String @unique(map: "scrape_cache_url_hash") @db.Char(64)
|
|
url String @default("") @db.VarChar(1000)
|
|
canonical_url String? @db.VarChar(1000)
|
|
status Int @default(0) @db.SmallInt
|
|
title String? @db.VarChar(512)
|
|
site_name String? @db.VarChar(255)
|
|
description String? @db.MediumText
|
|
keywords String? @db.VarChar(512)
|
|
search_text String? @db.MediumText
|
|
image_url String? @db.VarChar(1000)
|
|
file_location String? @db.VarChar(500)
|
|
etag String? @db.VarChar(255)
|
|
last_modified String? @db.VarChar(128)
|
|
content_type String? @db.VarChar(128)
|
|
fetch_state String @default("pending") @db.VarChar(20)
|
|
failure_count Int @default(0)
|
|
last_error String? @db.VarChar(255)
|
|
fetched_at Int?
|
|
expires_at Int?
|
|
|
|
@@index([expires_at], map: "scrape_cache_expires_at")
|
|
@@index([fetch_state], map: "scrape_cache_fetch_state")
|
|
}
|
|
|
|
model tag {
|
|
id Int @id @default(autoincrement()) @db.UnsignedInt
|
|
text String? @db.VarChar(400)
|
|
hash Int?
|
|
|
|
@@index([hash], map: "hash")
|
|
}
|
|
|
|
model user {
|
|
id Int @id @unique(map: "id_UNIQUE") @default(autoincrement()) @db.UnsignedInt
|
|
username String @unique(map: "username_UNIQUE") @default("") @db.VarChar(150)
|
|
password String @db.Text
|
|
salt String @default("") @db.VarChar(500)
|
|
iterations Int
|
|
last_login DateTime? @db.DateTime(0)
|
|
created DateTime? @db.DateTime(0)
|
|
two_fa_secret String? @db.VarChar(50)
|
|
two_fa_enabled Int? @default(0) @db.TinyInt
|
|
two_fa_every_login Int? @default(0) @db.TinyInt
|
|
pushkey String? @db.VarChar(100)
|
|
}
|
|
|
|
model user_active_session {
|
|
id Int @id @default(autoincrement())
|
|
salt String? @db.VarChar(100)
|
|
encrypted_master_password String? @db.VarChar(500)
|
|
created Int?
|
|
uses Int?
|
|
user_hash String? @db.VarChar(500)
|
|
active Int? @default(1) @db.TinyInt
|
|
session_id String? @db.VarChar(100)
|
|
last_used Int?
|
|
}
|
|
|
|
model user_encrypted_search_index {
|
|
id Int @id @default(autoincrement())
|
|
user_id Int?
|
|
salt String? @db.VarChar(100)
|
|
index String? @db.LongText
|
|
last_update Int?
|
|
}
|
|
|
|
model user_key {
|
|
id Int @id @default(autoincrement())
|
|
user_id Int?
|
|
salt String? @db.VarChar(1300)
|
|
key String? @db.VarChar(5000)
|
|
created Int?
|
|
public_key String? @db.VarChar(5000)
|
|
private_key_encrypted String? @db.VarChar(5000)
|
|
}
|