-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy path001_categories-tables.sql
More file actions
27 lines (24 loc) · 908 Bytes
/
001_categories-tables.sql
File metadata and controls
27 lines (24 loc) · 908 Bytes
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
CREATE TABLE categories (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
notation TEXT NOT NULL,
objects TEXT NOT NULL,
morphisms TEXT NOT NULL,
description TEXT,
nlab_link TEXT CHECK (nlab_link IS NULL OR nlab_link like 'https://%'),
dual_category_id TEXT REFERENCES categories (id)
);
CREATE TABLE related_categories (
category_id TEXT NOT NULL,
related_category_id TEXT NOT NULL,
PRIMARY KEY (category_id, related_category_id),
FOREIGN KEY (category_id) REFERENCES categories (id) ON DELETE CASCADE,
FOREIGN KEY (related_category_id) REFERENCES categories (id) ON DELETE CASCADE
);
CREATE TABLE category_comments (
id INTEGER PRIMARY KEY,
category_id TEXT NOT NULL,
comment TEXT NOT NULL,
FOREIGN KEY (category_id) REFERENCES categories (id) ON DELETE CASCADE
);
CREATE INDEX idx_category_comments ON category_comments (category_id);