town/sql/create_user_db.sql

46 lines
1.1 KiB
SQL

CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
created TEXT DEFAULT (strftime('%Y-%m-%dT%H:%M', 'now', 'localtime')),
username TEXT UNIQUE,
signupid INTEGER,
state TEXT,
admin INTEGER DEFAULT FALSE,
FOREIGN KEY (signupid) REFERENCES signups(signupid)
);
CREATE TABLE IF NOT EXISTS emails (
id INTEGER PRIMARY KEY,
address TEXT UNIQUE,
userid INTEGER,
FOREIGN KEY (userid) REFERENCES users(userid)
);
CREATE TABLE IF NOT EXISTS user_notes (
noteid INTEGER,
userid INTEGER,
PRIMARY KEY (noteid, userid),
FOREIGN KEY (noteid) REFERENCES notes(noteid),
FOREIGN KEY (userid) REFERENCES users(userid)
);
CREATE TABLE IF NOT EXISTS notes (
id INTEGER PRIMARY KEY,
adminid INTEGER,
text TEXT,
created TEXT DEFAULT (strftime('%Y-%m-%dT%H:%M', 'now', 'localtime')),
FOREIGN KEY (adminid) REFERENCES users(adminid)
);
CREATE TABLE IF NOT EXISTS signup_notes (
noteid INTEGER,
signupid INTEGER,
PRIMARY KEY (noteid, signupid),
FOREIGN KEY (noteid) REFERENCES notes(noteid),
FOREIGN KEY (signupid) REFERENCES signups(signupid)
);