1
0
mirror of https://github.com/chylex/Lightning-Tracker.git synced 2024-09-19 01:42:49 +02:00
Lightning-Tracker/res/~database/ProjectMemberTable.sql

22 lines
742 B
SQL

CREATE TABLE IF NOT EXISTS `project_members` (
`project_id` INT NOT NULL,
`user_id` CHAR(9) NOT NULL,
`role_id` SMALLINT NULL,
PRIMARY KEY (`project_id`, `user_id`),
CONSTRAINT fk__project_member__project FOREIGN KEY (`project_id`)
REFERENCES `projects` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT fk__project_member__user FOREIGN KEY (`user_id`)
REFERENCES `users` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT fk__project_member__role FOREIGN KEY (`role_id`, `project_id`)
# Ensures the role-project pair is always valid.
REFERENCES `project_roles` (`role_id`, `project_id`)
ON UPDATE CASCADE
ON DELETE RESTRICT
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE utf8mb4_general_ci