70 lines
1.9 KiB
SQL
70 lines
1.9 KiB
SQL
create table category (
|
|
id serial primary key,
|
|
name varchar(100) not null unique
|
|
);
|
|
|
|
insert into category (name) values
|
|
('Discussion'),
|
|
('Humor/Memes'),
|
|
('Gaming'),
|
|
('Movies'),
|
|
('TV'),
|
|
('Music'),
|
|
('Literature'),
|
|
('Comics'),
|
|
('Photography'),
|
|
('Art'),
|
|
('Learning'),
|
|
('DIY'),
|
|
('Lifestyle'),
|
|
('News'),
|
|
('Politics'),
|
|
('Society'),
|
|
('Gender/Identity/Sexuality'),
|
|
('Race/Colonisation'),
|
|
('Religion'),
|
|
('Science/Technology'),
|
|
('Programming/Software'),
|
|
('Health/Sports/Fitness'),
|
|
('Porn'),
|
|
('Places'),
|
|
('Meta'),
|
|
('Other');
|
|
|
|
create table community (
|
|
id serial primary key,
|
|
name varchar(20) not null unique,
|
|
title varchar(100) not null,
|
|
description text,
|
|
category_id int references category on update cascade on delete cascade not null,
|
|
creator_id int references user_ on update cascade on delete cascade not null,
|
|
removed boolean default false,
|
|
published timestamp not null default now(),
|
|
updated timestamp
|
|
);
|
|
|
|
create table community_moderator (
|
|
id serial primary key,
|
|
community_id int references community on update cascade on delete cascade not null,
|
|
user_id int references user_ on update cascade on delete cascade not null,
|
|
published timestamp not null default now(),
|
|
unique (community_id, user_id)
|
|
);
|
|
|
|
create table community_follower (
|
|
id serial primary key,
|
|
community_id int references community on update cascade on delete cascade not null,
|
|
user_id int references user_ on update cascade on delete cascade not null,
|
|
published timestamp not null default now(),
|
|
unique (community_id, user_id)
|
|
);
|
|
|
|
create table community_user_ban (
|
|
id serial primary key,
|
|
community_id int references community on update cascade on delete cascade not null,
|
|
user_id int references user_ on update cascade on delete cascade not null,
|
|
published timestamp not null default now(),
|
|
unique (community_id, user_id)
|
|
);
|
|
|
|
insert into community (name, title, category_id, creator_id) values ('main', 'The Default Community', 1, 1);
|