46 lines
1.1 KiB
MySQL
46 lines
1.1 KiB
MySQL
|
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)
|
||
|
);
|