-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschema.sql
More file actions
105 lines (86 loc) · 2.87 KB
/
schema.sql
File metadata and controls
105 lines (86 loc) · 2.87 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
CREATE SCHEMA IF NOT EXISTS patchwork_archive;
-- =====================
-- Sequences
-- =====================
CREATE SEQUENCE patchwork_archive.archive_log_id_seq;
CREATE SEQUENCE patchwork_archive.archive_queue_id_seq;
CREATE SEQUENCE patchwork_archive.archive_queue_auth_id_seq;
CREATE SEQUENCE patchwork_archive.archive_worker_auth_id_seq;
CREATE SEQUENCE patchwork_archive.romanized_id_seq;
CREATE SEQUENCE patchwork_archive.songs_id_seq;
-- =====================
-- Tables
-- =====================
CREATE TABLE patchwork_archive.archive_log (
id integer PRIMARY KEY DEFAULT nextval('patchwork_archive.archive_log_id_seq'),
url text NOT NULL,
"user" varchar(128) NOT NULL,
status text NOT NULL,
"timestamp" text
);
CREATE TABLE patchwork_archive.archive_queue (
id integer PRIMARY KEY DEFAULT nextval('patchwork_archive.archive_queue_id_seq'),
url text,
mode integer
);
CREATE TABLE patchwork_archive.archive_queue_auth (
id integer PRIMARY KEY DEFAULT nextval('patchwork_archive.archive_queue_auth_id_seq'),
token varchar(128)
);
CREATE TABLE patchwork_archive.archive_worker_auth (
id integer PRIMARY KEY DEFAULT nextval('patchwork_archive.archive_worker_auth_id_seq'),
token varchar(128) NOT NULL
);
CREATE TABLE patchwork_archive.channels (
channel_id varchar(255) PRIMARY KEY,
channel_name text NOT NULL,
romanized_name text,
description text
);
CREATE TABLE patchwork_archive.files (
video_id varchar(255) PRIMARY KEY,
size_mb double precision,
extension varchar(32)
);
CREATE TABLE patchwork_archive.kv (
data varchar(255) PRIMARY KEY,
reference varchar(255)
);
CREATE TABLE patchwork_archive.romanized (
id integer PRIMARY KEY DEFAULT nextval('patchwork_archive.romanized_id_seq'),
video_id varchar(255) NOT NULL,
romanized_title text NOT NULL
);
CREATE TABLE patchwork_archive.songs (
id integer PRIMARY KEY DEFAULT nextval('patchwork_archive.songs_id_seq'),
video_id varchar(255) NOT NULL,
title text NOT NULL,
channel_name text NOT NULL,
channel_id varchar(255) NOT NULL,
upload_date text NOT NULL,
description text NOT NULL
);
CREATE TABLE patchwork_archive.views (
video_id varchar(255) PRIMARY KEY,
view_count integer NOT NULL
);
CREATE TABLE patchwork_archive.worker_status (
id integer PRIMARY KEY,
name text,
token varchar(128),
status text,
"timestamp" text
);
-- =====================
-- Indexes
-- =====================
CREATE INDEX idx_archive_worker_auth_token
ON patchwork_archive.archive_worker_auth (token);
CREATE INDEX idx_romanized_video_id
ON patchwork_archive.romanized (video_id);
CREATE INDEX idx_songs_channel_id
ON patchwork_archive.songs (channel_id);
CREATE INDEX idx_songs_video_id
ON patchwork_archive.songs (video_id);
CREATE INDEX idx_worker_status_token
ON patchwork_archive.worker_status (token);