47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
create table users (
|
|
user_id integer unique not null primary key autoincrement,
|
|
name varchar(32) unique not null,
|
|
password varchar(128) not null,
|
|
email varchar(254),
|
|
about text not null default '',
|
|
join_time integer not null,
|
|
role 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,
|
|
dead 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,
|
|
dead boolean not null default false
|
|
);
|
|
|
|
create table forums (
|
|
forum_id integer unique not null primary key autoincrement,
|
|
name varchar(64) not null,
|
|
description text,
|
|
allowed_roles_mask integer not null
|
|
);
|
|
|
|
-- 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);
|