Files
sysPass/inc/sql/1316100601.sql
2017-01-12 09:37:50 +01:00

386 lines
16 KiB
SQL

-- To 1.3.16100601;
ALTER TABLE `accHistory`
CHANGE COLUMN `acchistory_userId` `acchistory_userId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `acchistory_userEditId` `acchistory_userEditId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `acchistory_customerId` `acchistory_customerId` INT(10) UNSIGNED NOT NULL,
CHANGE COLUMN `acchistory_categoryId` `acchistory_categoryId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `acchistory_dateEdit` `acchistory_dateEdit` DATETIME NULL DEFAULT NULL,
CHANGE COLUMN `acchistory_userGroupId` `acchistory_userGroupId` SMALLINT(5) UNSIGNED NOT NULL,
ADD INDEX `fk_accHistory_users_id_idx` (`acchistory_userId` ASC),
ADD INDEX `fk_accHistory_users_edit_id_idx` (`acchistory_userEditId` ASC),
ADD INDEX `fk_accHistory_categories_id_idx` (`acchistory_categoryId` ASC),
ADD INDEX `fk_accHistory_customers_id_idx` (`acchistory_customerId` ASC);
ALTER TABLE `accTags`
CHANGE COLUMN `acctag_accountId` `acctag_accountId` SMALLINT(10) UNSIGNED NOT NULL,
DROP INDEX `IDX_id`,
ADD INDEX `IDX_id` (`acctag_accountId` ASC),
ADD INDEX `fk_accTags_tags_id_idx` (`acctag_tagId` ASC);
ALTER TABLE `accUsers`
DROP COLUMN `accuser_id`,
CHANGE COLUMN `accuser_accountId` `accuser_accountId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `accuser_userId` `accuser_userId` SMALLINT(5) UNSIGNED NOT NULL,
ADD INDEX `fk_accUsers_users_id_idx` (`accuser_userId` ASC),
DROP PRIMARY KEY;
ALTER TABLE `accounts`
CHANGE COLUMN `account_id` `account_id` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `account_userId` `account_userId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `account_userEditId` `account_userEditId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `account_categoryId` `account_categoryId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `account_dateEdit` `account_dateEdit` DATETIME NULL DEFAULT NULL,
CHANGE COLUMN `account_userGroupId` `account_userGroupId` SMALLINT(5) UNSIGNED NOT NULL,
ADD INDEX `fk_accounts_user_id_idx` (`account_userId` ASC),
ADD INDEX `fk_accounts_user__edit_id_idx` (`account_userEditId` ASC);
ALTER TABLE `authTokens`
CHANGE COLUMN `authtoken_userId` `authtoken_userId` SMALLINT(5) UNSIGNED NOT NULL,
ADD INDEX `fk_authTokens_users_id_idx` (`authtoken_userId` ASC, `authtoken_createdBy` ASC);
ALTER TABLE `log`
CHANGE COLUMN `log_userId` `log_userId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `log_description` `log_description` TEXT NULL DEFAULT NULL,
ADD INDEX `fk_log_users_id_idx` (`log_userId` ASC);
ALTER TABLE `usrData`
CHANGE COLUMN `user_groupId` `user_groupId` SMALLINT(3) UNSIGNED NOT NULL,
CHANGE COLUMN `user_secGroupId` `user_secGroupId` SMALLINT(3) UNSIGNED NULL DEFAULT NULL,
CHANGE COLUMN `user_profileId` `user_profileId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `user_isAdminApp` `user_isAdminApp` BIT(1) NULL DEFAULT b'0',
CHANGE COLUMN `user_isAdminAcc` `user_isAdminAcc` BIT(1) NULL DEFAULT b'0',
CHANGE COLUMN `user_isLdap` `user_isLdap` BIT(1) NULL DEFAULT b'0',
CHANGE COLUMN `user_isDisabled` `user_isDisabled` BIT(1) NULL DEFAULT b'0',
ADD INDEX `fk_usrData_groups_id_idx` (`user_groupId` ASC),
ADD INDEX `fk_usrData_profiles_id_idx` (`user_profileId` ASC);
ALTER TABLE `usrPassRecover`
CHANGE COLUMN `userpassr_used` `userpassr_used` BIT(1) NULL DEFAULT b'0';
ALTER TABLE `usrToGroups`
DROP COLUMN `usertogroup_id`,
CHANGE COLUMN `usertogroup_userId` `usertogroup_userId` SMALLINT(5) UNSIGNED NOT NULL,
CHANGE COLUMN `usertogroup_groupId` `usertogroup_groupId` SMALLINT(5) UNSIGNED NOT NULL,
ADD INDEX `fk_usrToGroups_groups_id_idx` (`usertogroup_groupId` ASC),
DROP PRIMARY KEY;
ALTER TABLE `accGroups`
CHANGE COLUMN `accgroup_accountId` `accgroup_accountId` SMALLINT(5) UNSIGNED NOT NULL ,
CHANGE COLUMN `accgroup_groupId` `accgroup_groupId` SMALLINT(5) UNSIGNED NOT NULL;
ALTER TABLE `accFavorites`
ADD CONSTRAINT `fk_accFavorites_accounts_id`
FOREIGN KEY (`accfavorite_accountId`)
REFERENCES `accounts` (`account_id`)
ON DELETE CASCADE
ON UPDATE NO ACTION;
ALTER TABLE `accFavorites`
ADD CONSTRAINT `fk_accFavorites_users_id`
FOREIGN KEY (`accfavorite_userId`)
REFERENCES `usrData` (`user_id`)
ON DELETE CASCADE
ON UPDATE NO ACTION;
ALTER TABLE `accFiles`
ADD CONSTRAINT `fk_accFiles_accounts_id`
FOREIGN KEY (`accfile_accountId`)
REFERENCES `accounts` (`account_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE `accGroups`
ADD CONSTRAINT `fk_accGroups_accounts_id`
FOREIGN KEY (`accgroup_accountId`)
REFERENCES `accounts` (`account_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `accGroups`
ADD CONSTRAINT `fk_accGroups_groups_id`
FOREIGN KEY (`accgroup_groupId`)
REFERENCES `usrGroups` (`usergroup_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `accHistory`
ADD CONSTRAINT `fk_accHistory_user_id`
FOREIGN KEY (`acchistory_userId`)
REFERENCES `usrData` (`user_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `accHistory`
ADD CONSTRAINT `fk_accHistory_users_edit_id`
FOREIGN KEY (`acchistory_userEditId`)
REFERENCES `usrData` (`user_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `accHistory`
ADD CONSTRAINT `fk_accHistory_category_id`
FOREIGN KEY (`acchistory_categoryId`)
REFERENCES `categories` (`category_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `accHistory`
ADD CONSTRAINT `fk_accHistory_customer_id`
FOREIGN KEY (`acchistory_customerId`)
REFERENCES `customers` (`customer_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `accHistory`
ADD CONSTRAINT `fk_accHistory_userGroup_id`
FOREIGN KEY (`acchistory_userGroupId`)
REFERENCES `usrGroups` (`usergroup_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE `accTags`
ADD CONSTRAINT `fk_accTags_accounts_id`
FOREIGN KEY (`acctag_accountId`)
REFERENCES `accounts` (`account_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `accTags`
ADD CONSTRAINT `fk_accTags_tags_id`
FOREIGN KEY (`acctag_tagId`)
REFERENCES `tags` (`tag_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `accUsers`
ADD CONSTRAINT `fk_accUsers_accounts_id`
FOREIGN KEY (`accuser_accountId`)
REFERENCES `accounts` (`account_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `accUsers`
ADD CONSTRAINT `fk_accUsers_users_id`
FOREIGN KEY (`accuser_userId`)
REFERENCES `usrData` (`user_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `accounts`
ADD CONSTRAINT `fk_accounts_category_id`
FOREIGN KEY (`account_categoryId`)
REFERENCES `categories` (`category_id`)
ON DELETE RESTRICT
ON UPDATE CASCADE;
ALTER TABLE `accounts`
ADD CONSTRAINT `fk_accounts_user_id`
FOREIGN KEY (`account_userId`)
REFERENCES `usrData` (`user_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `accounts`
ADD CONSTRAINT `fk_accounts_user_edit_id`
FOREIGN KEY (`account_userEditId`)
REFERENCES `usrData` (`user_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `accounts`
ADD CONSTRAINT `fk_accounts_customer_id`
FOREIGN KEY (`account_customerId`)
REFERENCES `customers` (`customer_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `accounts`
ADD CONSTRAINT `fk_accounts_userGroup_id`
FOREIGN KEY (`account_userGroupId`)
REFERENCES `usrGroups` (`usergroup_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE `authTokens`
ADD CONSTRAINT `fk_authTokens_user_id`
FOREIGN KEY (`authtoken_userId`)
REFERENCES `usrData` (`user_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `authTokens`
ADD CONSTRAINT `fk_authTokens_createdBy_id`
FOREIGN KEY (`authtoken_createdBy`)
REFERENCES `usrData` (`user_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `customFieldsData`
ADD CONSTRAINT `fk_customFieldsData_def_id`
FOREIGN KEY (`customfielddata_defId`)
REFERENCES `customFieldsDef` (`customfielddef_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `usrData`
ADD CONSTRAINT `fk_usrData_groups_id`
FOREIGN KEY (`user_groupId`)
REFERENCES `usrGroups` (`usergroup_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `usrData`
ADD CONSTRAINT `fk_usrData_profiles_id`
FOREIGN KEY (`user_profileId`)
REFERENCES `usrProfiles` (`userprofile_id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
ALTER TABLE `usrPassRecover`
ADD CONSTRAINT `fk_usrPassRecover_users`
FOREIGN KEY (`userpassr_userId`)
REFERENCES `usrData` (`user_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `usrToGroups`
ADD CONSTRAINT `fk_usrToGroups_users_id`
FOREIGN KEY (`usertogroup_userId`)
REFERENCES `usrData` (`user_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `usrToGroups`
ADD CONSTRAINT `fk_usrToGroups_groups_id`
FOREIGN KEY (`usertogroup_groupId`)
REFERENCES `usrGroups` (`usergroup_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE `accounts`
ADD COLUMN `account_isPrivate` BIT(1) NULL DEFAULT b'0'
AFTER `account_otherUserEdit`;
ALTER TABLE `accounts`
ADD COLUMN `account_passDate` INT UNSIGNED NULL
AFTER `account_isPrivate`,
ADD COLUMN `account_passDateChange` INT UNSIGNED NULL
AFTER `account_passDate`;
ALTER TABLE `accHistory`
ADD COLUMN `accHistory_passDate` INT UNSIGNED NULL
AFTER `accHistory_otherGroupEdit`,
ADD COLUMN `accHistory_passDateChange` INT UNSIGNED NULL
AFTER `accHistory_passDate`;
ALTER TABLE `accounts`
ADD COLUMN `account_parentId` SMALLINT(5) UNSIGNED NULL
AFTER `account_passDateChange`;
ALTER TABLE `accHistory`
ADD COLUMN `accHistory_parentId` SMALLINT(5) UNSIGNED NULL
AFTER `accHistory_passDateChange`,
ADD INDEX `fk_accHistory_userGroup_id_idx` (`acchistory_userGroupId` ASC);
CREATE OR REPLACE ALGORITHM = UNDEFINED
DEFINER = CURRENT_USER
SQL SECURITY DEFINER VIEW `account_data_v` AS
SELECT
`accounts`.`account_id` AS `account_id`,
`accounts`.`account_name` AS `account_name`,
`accounts`.`account_categoryId` AS `account_categoryId`,
`accounts`.`account_userId` AS `account_userId`,
`accounts`.`account_customerId` AS `account_customerId`,
`accounts`.`account_userGroupId` AS `account_userGroupId`,
`accounts`.`account_userEditId` AS `account_userEditId`,
`accounts`.`account_login` AS `account_login`,
`accounts`.`account_url` AS `account_url`,
`accounts`.`account_notes` AS `account_notes`,
`accounts`.`account_countView` AS `account_countView`,
`accounts`.`account_countDecrypt` AS `account_countDecrypt`,
`accounts`.`account_dateAdd` AS `account_dateAdd`,
`accounts`.`account_dateEdit` AS `account_dateEdit`,
conv(`accounts`.`account_otherUserEdit`, 10, 2) AS `account_otherUserEdit`,
conv(`accounts`.`account_otherGroupEdit`, 10, 2) AS `account_otherGroupEdit`,
conv(`accounts`.`account_isPrivate`, 10, 2) AS `account_isPrivate`,
`accounts`.`account_passDate` AS `account_passDate`,
`accounts`.`account_passDateChange` AS `account_passDateChange`,
`accounts`.`account_parentId` AS `account_parentId`,
`categories`.`category_name` AS `category_name`,
`customers`.`customer_name` AS `customer_name`,
`ug`.`usergroup_name` AS `usergroup_name`,
`u1`.`user_name` AS `user_name`,
`u1`.`user_login` AS `user_login`,
`u2`.`user_name` AS `user_editName`,
`u2`.`user_login` AS `user_editLogin`,
`publicLinks`.`publicLink_hash` AS `publicLink_hash`
FROM ((((((`accounts`
LEFT JOIN `categories` ON ((`accounts`.`account_categoryId` = `categories`.`category_id`))) LEFT JOIN
`usrGroups` `ug` ON ((`accounts`.`account_userGroupId` = `ug`.`usergroup_id`))) LEFT JOIN `usrData` `u1`
ON ((`accounts`.`account_userId` = `u1`.`user_id`))) LEFT JOIN `usrData` `u2`
ON ((`accounts`.`account_userEditId` = `u2`.`user_id`))) LEFT JOIN `customers`
ON ((`accounts`.`account_customerId` = `customers`.`customer_id`))) LEFT JOIN `publicLinks`
ON ((`accounts`.`account_id` = `publicLinks`.`publicLink_itemId`)));
CREATE OR REPLACE ALGORITHM = UNDEFINED
DEFINER = CURRENT_USER
SQL SECURITY DEFINER VIEW `account_search_v` AS
SELECT DISTINCT
`accounts`.`account_id` AS `account_id`,
`accounts`.`account_customerId` AS `account_customerId`,
`accounts`.`account_categoryId` AS `account_categoryId`,
`accounts`.`account_name` AS `account_name`,
`accounts`.`account_login` AS `account_login`,
`accounts`.`account_url` AS `account_url`,
`accounts`.`account_notes` AS `account_notes`,
`accounts`.`account_userId` AS `account_userId`,
`accounts`.`account_userGroupId` AS `account_userGroupId`,
`accounts`.`account_otherUserEdit` AS `account_otherUserEdit`,
`accounts`.`account_otherGroupEdit` AS `account_otherGroupEdit`,
`accounts`.`account_isPrivate` AS `account_isPrivate`,
`accounts`.`account_passDate` AS `account_passDate`,
`accounts`.`account_passDateChange` AS `account_passDateChange`,
`accounts`.`account_parentId` AS `account_parentId`,
`ug`.`usergroup_name` AS `usergroup_name`,
`categories`.`category_name` AS `category_name`,
`customers`.`customer_name` AS `customer_name`,
(SELECT COUNT(0)
FROM
`accFiles`
WHERE
(`accFiles`.`accfile_accountId` = `accounts`.`account_id`)) AS `num_files`
FROM
(((`accounts`
LEFT JOIN `categories` ON ((`accounts`.`account_categoryId` = `categories`.`category_id`)))
LEFT JOIN `usrGroups` `ug` ON ((`accounts`.`account_userGroupId` = `ug`.`usergroup_id`)))
LEFT JOIN `customers` ON ((`customers`.`customer_id` = `accounts`.`account_customerId`)));
ALTER TABLE `accounts`
ADD INDEX `IDX_parentId` USING BTREE (`account_parentId` ASC);
ALTER TABLE `categories`
ADD COLUMN `category_hash` VARBINARY(40) NOT NULL DEFAULT 0
AFTER `category_description`;
CREATE TABLE `plugins` (
`plugin_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`plugin_name` VARCHAR(100) NOT NULL,
`plugin_data` VARBINARY(5000) NULL,
`plugin_enabled` BIT(1) NOT NULL DEFAULT b'0',
PRIMARY KEY (`plugin_id`),
UNIQUE INDEX `plugin_name_UNIQUE` (`plugin_name` ASC)
);
CREATE TABLE `notices` (
`notice_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`notice_type` VARCHAR(100) NULL,
`notice_component` VARCHAR(100) NOT NULL,
`notice_description` VARCHAR(500) NOT NULL,
`notice_date` INT UNSIGNED NOT NULL,
`notice_checked` BIT(1) NULL DEFAULT b'0',
`notice_userId` SMALLINT(5) UNSIGNED NULL,
`notice_sticky` BIT(1) NULL DEFAULT b'0',
`notice_onlyAdmin` BIT(1) NULL DEFAULT b'0',
PRIMARY KEY (`notice_id`),
INDEX `IDX_userId` (`notice_userId` ASC, `notice_checked` ASC, `notice_date` ASC),
INDEX `IDX_component` (`notice_component` ASC, `notice_date` ASC, `notice_checked` ASC, `notice_userId` ASC)
);