129 lines
3.3 KiB
SQL
129 lines
3.3 KiB
SQL
|
|
ALTER TABLE `account`.`role`
|
|
MODIFY COLUMN `hasLogin` tinyint(3) unsigned DEFAULT 1 NOT NULL;
|
|
|
|
ALTER TABLE `account`.`roleInherit`
|
|
ADD UNIQUE( `role`, `inheritsFrom`);
|
|
|
|
ALTER TABLE `account`.`roleInherit`
|
|
DROP PRIMARY KEY;
|
|
|
|
ALTER TABLE `account`.`roleInherit`
|
|
ADD `id` INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
|
|
ADD PRIMARY KEY (`id`);
|
|
|
|
ALTER TABLE `account`.`mailAlias`
|
|
ADD `description` VARCHAR(255) NULL AFTER `alias`;
|
|
|
|
ALTER TABLE `account`.`mailAliasAccount`
|
|
ADD UNIQUE( `mailAlias`, `account`);
|
|
|
|
ALTER TABLE `account`.`mailAliasAccount`
|
|
DROP PRIMARY KEY;
|
|
|
|
ALTER TABLE `account`.`mailAliasAccount`
|
|
ADD `id` INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
|
|
ADD PRIMARY KEY (`id`);
|
|
|
|
ALTER TABLE account.ldapConfig
|
|
ADD groupDn varchar(255) NULL;
|
|
|
|
UPDATE account.ldapConfig SET groupDn = 'ou=groups,dc=verdnatura,dc=es';
|
|
|
|
DROP PROCEDURE IF EXISTS account.user_syncPassword;
|
|
|
|
ALTER TABLE account.`user`
|
|
MODIFY COLUMN sync tinyint(4) DEFAULT 0 NOT NULL COMMENT 'Deprecated';
|
|
|
|
CREATE TABLE account.userSync (
|
|
name varchar(30) NOT NULL,
|
|
CONSTRAINT userSync_PK PRIMARY KEY (name)
|
|
)
|
|
ENGINE=InnoDB
|
|
DEFAULT CHARSET=utf8
|
|
COLLATE=utf8_general_ci;
|
|
|
|
USE account;
|
|
|
|
DELIMITER $$
|
|
|
|
DROP TRIGGER IF EXISTS account.user_beforeUpdate$$
|
|
CREATE DEFINER=`root`@`%` TRIGGER `user_beforeUpdate`
|
|
BEFORE UPDATE ON `user` FOR EACH ROW
|
|
BEGIN
|
|
IF !(NEW.`name` <=> OLD.`name`) THEN
|
|
CALL user_checkName (NEW.`name`);
|
|
END IF;
|
|
|
|
IF !(NEW.`password` <=> OLD.`password`) THEN
|
|
SET NEW.bcryptPassword = NULL;
|
|
SET NEW.lastPassChange = NOW();
|
|
END IF;
|
|
END$$
|
|
|
|
DROP TRIGGER IF EXISTS account.user_afterUpdate$$
|
|
CREATE DEFINER=`root`@`%` TRIGGER `user_afterUpdate`
|
|
AFTER UPDATE ON `user` FOR EACH ROW
|
|
BEGIN
|
|
INSERT IGNORE INTO userSync SET `name` = NEW.`name`;
|
|
|
|
IF !(OLD.`name` <=> NEW.`name`) THEN
|
|
INSERT IGNORE INTO userSync SET `name` = OLD.`name`;
|
|
END IF;
|
|
|
|
IF !(NEW.`role` <=> OLD.`role`)
|
|
THEN
|
|
INSERT INTO vn.mail SET
|
|
`sender` = 'jgallego@verdnatura.es',
|
|
`replyTo` = 'jgallego@verdnatura.es',
|
|
`subject` = 'Rol modificado',
|
|
`body` = CONCAT(myUserGetName(), ' ha modificado el rol del usuario ',
|
|
NEW.`name`, ' de ', OLD.role, ' a ', NEW.role);
|
|
END IF;
|
|
END$$
|
|
|
|
CREATE DEFINER=`root`@`%` TRIGGER `user_afterInsert`
|
|
AFTER INSERT ON `user` FOR EACH ROW
|
|
BEGIN
|
|
INSERT IGNORE INTO userSync SET `name` = NEW.`name`;
|
|
END$$
|
|
|
|
CREATE DEFINER=`root`@`%` TRIGGER `user_afterDelete`
|
|
AFTER DELETE ON `user` FOR EACH ROW
|
|
BEGIN
|
|
INSERT IGNORE INTO userSync SET `name` = OLD.`name`;
|
|
END$$
|
|
|
|
DROP TRIGGER IF EXISTS account.account_afterInsert$$
|
|
CREATE DEFINER=`root`@`%` TRIGGER `account_afterInsert`
|
|
AFTER INSERT ON `account` FOR EACH ROW
|
|
BEGIN
|
|
INSERT IGNORE INTO userSync (`name`)
|
|
SELECT `name` FROM `user` WHERE id = NEW.id;
|
|
END$$
|
|
|
|
DROP TRIGGER IF EXISTS account.account_afterDelete$$
|
|
CREATE DEFINER=`root`@`%` TRIGGER `account_afterDelete`
|
|
AFTER DELETE ON `account` FOR EACH ROW
|
|
BEGIN
|
|
INSERT IGNORE INTO userSync (`name`)
|
|
SELECT `name` FROM `user` WHERE id = OLD.id;
|
|
END$$
|
|
|
|
DROP TRIGGER IF EXISTS account.role_beforeInsert$$
|
|
CREATE DEFINER=`root`@`%` TRIGGER role_beforeInsert
|
|
BEFORE INSERT ON `role` FOR EACH ROW
|
|
BEGIN
|
|
CALL role_checkName(NEW.`name`);
|
|
END
|
|
|
|
DROP TRIGGER IF EXISTS account.role_beforeUpdate$$
|
|
CREATE DEFINER=`root`@`%` TRIGGER role_beforeUpdate
|
|
BEFORE UPDATE ON `role` FOR EACH ROW
|
|
BEGIN
|
|
IF !(NEW.`name` <=> OLD.`name`) THEN
|
|
CALL role_checkName (NEW.`name`);
|
|
END IF;
|
|
END$$
|
|
|
|
DELIMITER ; |