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 ;