User_roles table constraints

This commit is contained in:
Imbus 2024-03-01 07:47:06 +01:00
parent b39ce645d6
commit a749857c98

View file

@ -4,4 +4,13 @@ CREATE TABLE IF NOT EXISTS user_roles (
role STRING NOT NULL, -- 'admin' or 'member' role STRING NOT NULL, -- 'admin' or 'member'
FOREIGN KEY (user_id) REFERENCES users (id) FOREIGN KEY (user_id) REFERENCES users (id)
FOREIGN KEY (project_id) REFERENCES projects (id) FOREIGN KEY (project_id) REFERENCES projects (id)
); PRIMARY KEY (user_id, project_id)
);
-- Make sure that the role is either 'admin' or 'member'
CREATE TRIGGER IF NOT EXISTS user_role_admin_or_member
BEFORE INSERT ON user_roles
FOR EACH ROW
BEGIN
SELECT RAISE(ABORT, 'Invalid role') WHERE NEW.role NOT IN ('admin', 'member');
END;