8 CREATE TABLE playlists(
12 CREATE TABLE subscriptions(
13 channel_id STRING
, -- TODO: rename so it makes sense for playlists
15 type TEXT DEFAULT 'channel' NOT NULL CHECK(type IN ('channel', 'playlist')),
16 PRIMARY KEY (channel_id
, user));
18 id STRING
PRIMARY KEY,
23 crawled DATETIME
DEFAULT CURRENT_TIMESTAMP);
24 CREATE TABLE playlist_videos(
27 PRIMARY KEY (video_id
, playlist_id
));
29 channel_id STRING
PRIMARY KEY, -- TODO: rename so it makes sense for playlists
30 crawled_at DATETIME
DEFAULT CURRENT_TIMESTAMP);
32 channel_id STRING
PRIMARY KEY,
33 subscribed_until DATETIME
DEFAULT CURRENT_TIMESTAMP,
34 pending
BOOLEAN DEFAULT 0);
38 display
TEXT CHECK(display
IN (NULL, 'pinned', 'hidden')),
39 PRIMARY KEY (user, video_id
));
41 rowid INTEGER PRIMARY KEY CHECK (rowid = 0), -- limit to 1 row
50 CREATE TABLE subreddits(
51 subreddit STRING
COLLATE NOCASE
, -- e.g. videos (not /r/...)
53 PRIMARY KEY (subreddit
, user));
60 id INTEGER PRIMARY KEY AUTOINCREMENT
,
62 password TEXT NOT NULL,
63 token TEXT NOT NULL); -- TODO: move into user_tokens table
64 -- CREATE TABLE user_tokens( -- stores retractable url tokens for feeds.
65 -- user_id INTEGER NOT NULL,
66 -- token TEXT NOT NULL);