Files
mlc/mlc-server/migrations/20250323085527_init.up.sql
2025-03-24 12:52:25 +01:00

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;