salix/services/db/changes/1.0.0/04-userRole.sql

37 lines
914 B
SQL

USE `account`;
CREATE
OR REPLACE ALGORITHM = UNDEFINED
DEFINER = `root`@`%`
SQL SECURITY DEFINER
VIEW `account`.`__userRole` AS
SELECT
`r`.`inheritsFrom` AS `id`
FROM
(`account`.`roleRole` `r`
JOIN `account`.`user` `u` ON ((`u`.`role` = `r`.`role`)))
WHERE
(`u`.`id` = USERGETID());
DROP VIEW `account`.`userRole`;
CREATE TABLE `account`.`userRole` (
`userFk` INT(10) UNSIGNED NOT NULL,
`roleFk` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`userFk`, `roleFk`));
ALTER TABLE `account`.`userRole`
ADD INDEX `user` (`userFk` ASC),
ADD INDEX `role` (`roleFk` ASC);
ALTER TABLE `account`.`userRole`
ADD CONSTRAINT `user`
FOREIGN KEY (`userFk`)
REFERENCES `account`.`user` (`id`)
ON DELETE CASCADE
ON UPDATE CASCADE,
ADD CONSTRAINT `role`
FOREIGN KEY (`roleFk`)
REFERENCES `account`.`role` (`id`)
ON DELETE CASCADE
ON UPDATE CASCADE;