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) ); -- TODO address /should/ be unique but leaving it duplicable for now since i can think of some cases where there might be >1 account for the same human CREATE TABLE IF NOT EXISTS emails ( id INTEGER PRIMARY KEY, address TEXT, 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, author INTEGER, content TEXT, created TEXT DEFAULT (strftime('%Y-%m-%dT%H:%M', 'now', 'localtime')), FOREIGN KEY (adminid) REFERENCES users(adminid) );