38 lines
1.2 KiB
MySQL
38 lines
1.2 KiB
MySQL
|
create table meta (
|
||
|
version text -- schema version
|
||
|
);
|
||
|
|
||
|
create table users (
|
||
|
user_id text, -- string (uuid1)
|
||
|
user_name text, -- string
|
||
|
auth_hash text, -- string (sha256 hash)
|
||
|
quip text, -- string (possibly empty)
|
||
|
bio text, -- string (possibly empty)
|
||
|
color int, -- int (from 0 to 6)
|
||
|
is_admin int, -- bool
|
||
|
created real -- floating point unix timestamp (when this user registered)
|
||
|
);
|
||
|
|
||
|
|
||
|
create table threads (
|
||
|
thread_id text, -- uuid string
|
||
|
author text, -- string (uuid1, user.user_id)
|
||
|
title text, -- string
|
||
|
last_mod real, -- floating point unix timestamp (of last post or post edit)
|
||
|
created real, -- floating point unix timestamp (when thread was made)
|
||
|
reply_count int, -- integer (incremental, starting with 0)
|
||
|
pinned int, -- boolean
|
||
|
last_author text -- uuid string
|
||
|
);
|
||
|
|
||
|
|
||
|
create table messages (
|
||
|
thread_id text, -- string (uuid1 of parent thread)
|
||
|
post_id int, -- integer (incrementing from 1)
|
||
|
author text, -- string (uuid1, user.user_id)
|
||
|
created real, -- floating point unix timestamp (when reply was posted)
|
||
|
edited int, -- bool
|
||
|
body text, -- string
|
||
|
send_raw int -- bool (1/true == never apply formatting)
|
||
|
);
|