41 lines
977 B
SQL
41 lines
977 B
SQL
CREATE TABLE mlc_user(
|
|
username TEXT PRIMARY KEY,
|
|
password TEXT,
|
|
email TEXT
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TABLE mlc_device(
|
|
id TEXT,
|
|
username TEXT,
|
|
PRIMARY KEY (id, username),
|
|
FOREIGN KEY (username) REFERENCES mlc_user(username)
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TABLE mlc_group(id TEXT PRIMARY KEY) WITHOUT ROWID;
|
|
|
|
CREATE TABLE mlc_group_participant(
|
|
id TEXT PRIMARY KEY,
|
|
group_id BIGINT,
|
|
device_id TEXT,
|
|
username TEXT,
|
|
FOREIGN KEY (group_id) REFERENCES mlc_group(id),
|
|
FOREIGN KEY (device_id, username) REFERENCES mlc_device(id, username)
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TABLE mlc_keypackage(
|
|
hash_ref BLOB PRIMARY KEY,
|
|
device_id TEXT,
|
|
username TEXT,
|
|
expiration BIGINT,
|
|
given BOOLEAN,
|
|
data BLOB,
|
|
FOREIGN KEY (device_id, username) REFERENCES mlc_device(id, username)
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TABLE mlc_inbox(
|
|
id TEXT PRIMARY KEY,
|
|
device_id TEXT,
|
|
username TEXT,
|
|
FOREIGN KEY (device_id, username) REFERENCES mlc_device(id, username)
|
|
) WITHOUT ROWID;
|