1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
CREATE TABLE IF NOT EXISTS files (
id CHAR(32) NOT NULL PRIMARY KEY,
mime TEXT NOT NULL,
extension TEXT NOT NULL,
size BIGINT NOT NULL,
title TEXT,
password TEXT,
uploaded_at TIMESTAMP NOT NULL DEFAULT UTC_TIMESTAMP,
expires_at TIMESTAMP,
views BIGINT NOT NULL DEFAULT 0
);
CREATE TABLE IF NOT EXISTS file_metadata (
id CHAR(32) NOT NULL PRIMARY KEY REFERENCES files(id) ON DELETE CASCADE,
width BIGINT,
height BIGINT,
duration BIGINT,
line_count BIGINT
);
CREATE TABLE IF NOT EXISTS hash_bans (
sha256 CHAR(64) PRIMARY KEY,
reason TEXT
);
CREATE TABLE IF NOT EXISTS file_bans (
id CHAR(32) NOT NULL PRIMARY KEY REFERENCES files(id) ON DELETE CASCADE,
hash_ban CHAR(64) NOT NULL REFERENCES hash_bans(sha256) ON DELETE CASCADE,
banned_at TIMESTAMP NOT NULL DEFAULT UTC_TIMESTAMP
);
|