Files
rustical/crates/store_sqlite/migrations/20250426122310_principals.sql
2025-04-26 14:25:37 +02:00

29 lines
793 B
SQL

CREATE TABLE principals (
id TEXT NOT NULL,
displayname TEXT,
principal_type TEXT NOT NULL,
password_hash TEXT,
PRIMARY KEY (id)
);
CREATE TABLE app_tokens (
id TEXT NOT NULL,
principal TEXT NOT NULL,
token TEXT NOT NULL,
displayname TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
FOREIGN KEY (principal)
REFERENCES principals (id) ON DELETE CASCADE
);
CREATE TABLE memberships (
principal TEXT NOT NULL,
member_of TEXT NOT NULL,
PRIMARY KEY (principal, member_of),
CONSTRAINT fk_membership_principal
FOREIGN KEY (principal) REFERENCES principals (id) ON DELETE CASCADE,
CONSTRAINT fk_membership_member_of
FOREIGN KEY (member_of) REFERENCES principals (id) ON DELETE CASCADE
);