diff --git a/database_schematic.pgsql b/database_schematic.pgsql index 277b315..8a07ebc 100644 --- a/database_schematic.pgsql +++ b/database_schematic.pgsql @@ -1,17 +1,18 @@ CREATE TABLE boards ( board_id VARCHAR(5) PRIMARY KEY, board_name VARCHAR(32) NOT NULL, - threads_ids INT8[], options JSON ); CREATE TABLE threads ( - thread_id SERIAL8 PRIMARY KEY, + board_id VARCHAR(5) NOT NULL, + thread_id BIGINT NOT NULL, thread_name VARCHAR(32), posts_ids BIGINT[], is_locked boolean NOT NULL, is_pinned boolean NOT NULL, - options VARCHAR(255) + options VARCHAR(255), + PRIMARY KEY(board_id, thread_id) ); CREATE TABLE media ( @@ -19,13 +20,16 @@ CREATE TABLE media ( ); CREATE TABLE posts ( - post_id SERIAL8 PRIMARY KEY, + board_id VARCHAR(5) NOT NULL, + thread_id BIGINT NOT NULL, + post_id BIGINT NOT NULL, options VARCHAR(255), content TEXT NOT NULL, media_ids VARCHAR(22)[], is_root BOOL NOT NULL, timestamp TIMESTAMP NOT NULL, - user_ip CIDR NOT NULL + user_ip CIDR NOT NULL, + PRIMARY KEY(board_id, thread_id, post_id) ); CREATE TABLE admins (