--create table config ( -- version text not null, -- name text not null, -- description text not null, -- secret_key text not null, -- captcha_key text not null, -- registration_enabled boolean not null, -- login_required boolean not null --); create table users ( user_id integer unique not null primary key autoincrement, name varchar(32) unique not null, password varchar(128) not null, about text not null default '', join_time integer not null, role integer not null default 0, banned_until integer not null default 0 ); create table threads ( thread_id integer unique not null primary key autoincrement, author_id integer not null, forum_id integer not null, create_time integer not null, modify_time integer not null, update_time integer not null, title varchar(64) not null, text text not null, score integer not null default 0, hidden boolean not null default false ); create table comments ( comment_id integer unique not null primary key autoincrement, thread_id integer not null, author_id integer not null, parent_id integer, create_time integer not null, modify_time integer not null, text text not null, score integer not null default 0, hidden boolean not null default false ); create table forums ( forum_id integer unique not null primary key autoincrement, name varchar(64) not null, description text not null default '' ); -- Both of these speed up searches significantly if there are many threads or comments. -- Other indices have no measureable impact (yet, at least). create index forum_id on threads(forum_id); create index thread_id on comments(thread_id);