mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-04 23:54:08 +01:00
329 lines
13 KiB
SQL
329 lines
13 KiB
SQL
/*!40101 SET @OLD_CHARACTER_SET_CLIENT = @@CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS = @@CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET @OLD_COLLATION_CONNECTION = @@COLLATION_CONNECTION */;
|
|
/*!40101 SET NAMES utf8 */;
|
|
/*!40103 SET @OLD_TIME_ZONE = @@TIME_ZONE */;
|
|
/*!40103 SET TIME_ZONE = '+00:00' */;
|
|
/*!40014 SET @OLD_UNIQUE_CHECKS = @@UNIQUE_CHECKS, UNIQUE_CHECKS = 0 */;
|
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS = @@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS = 0 */;
|
|
/*!40101 SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO' */;
|
|
/*!40111 SET @OLD_SQL_NOTES = @@SQL_NOTES, SQL_NOTES = 0 */;
|
|
|
|
CREATE TABLE `accFiles` (
|
|
`accfile_id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`accfile_accountId` SMALLINT(5) UNSIGNED NOT NULL,
|
|
`accfile_name` VARCHAR(100) NOT NULL,
|
|
`accfile_type` VARCHAR(100) NOT NULL,
|
|
`accfile_size` INT(11) NOT NULL,
|
|
`accfile_content` MEDIUMBLOB NOT NULL,
|
|
`accfile_extension` VARCHAR(10) NOT NULL,
|
|
`accFile_thumb` MEDIUMBLOB,
|
|
PRIMARY KEY (`accfile_id`),
|
|
KEY `IDX_accountId` (`accfile_accountId`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `accGroups` (
|
|
`accgroup_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`accgroup_accountId` INT(10) UNSIGNED NOT NULL,
|
|
`accgroup_groupId` INT(10) UNSIGNED NOT NULL,
|
|
PRIMARY KEY (`accgroup_id`),
|
|
KEY `IDX_accountId` (`accgroup_accountId`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `accHistory` (
|
|
`acchistory_id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`acchistory_accountId` SMALLINT(5) UNSIGNED NOT NULL,
|
|
`acchistory_userGroupId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`acchistory_userId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`acchistory_userEditId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`acchistory_customerId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`acchistory_name` VARCHAR(255) NOT NULL,
|
|
`acchistory_categoryId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`acchistory_login` VARCHAR(50) NOT NULL,
|
|
`acchistory_url` VARCHAR(255) DEFAULT NULL,
|
|
`acchistory_pass` VARBINARY(255) NOT NULL,
|
|
`acchistory_IV` VARBINARY(32) NOT NULL,
|
|
`acchistory_notes` TEXT NOT NULL,
|
|
`acchistory_countView` INT(10) UNSIGNED NOT NULL DEFAULT '0',
|
|
`acchistory_countDecrypt` INT(10) UNSIGNED NOT NULL DEFAULT '0',
|
|
`acchistory_dateAdd` DATETIME NOT NULL,
|
|
`acchistory_dateEdit` DATETIME NOT NULL,
|
|
`acchistory_isModify` BIT(1) DEFAULT NULL,
|
|
`acchistory_isDeleted` BIT(1) DEFAULT NULL,
|
|
`acchistory_mPassHash` VARBINARY(255) NOT NULL,
|
|
`accHistory_otherUserEdit` BIT(1) DEFAULT b'0',
|
|
`accHistory_otherGroupEdit` BIT(1) DEFAULT b'0',
|
|
PRIMARY KEY (`acchistory_id`),
|
|
KEY `IDX_accountId` (`acchistory_accountId`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `accUsers` (
|
|
`accuser_id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`accuser_accountId` INT(10) UNSIGNED NOT NULL,
|
|
`accuser_userId` INT(10) UNSIGNED NOT NULL,
|
|
PRIMARY KEY (`accuser_id`),
|
|
KEY `idx_account` (`accuser_accountId`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `accViewLinks` (
|
|
`accviewlinks_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
|
|
`accviewlinks_accountId` INT(10) UNSIGNED DEFAULT NULL,
|
|
`accviewlinks_expireTime` INT(10) UNSIGNED DEFAULT NULL,
|
|
`accviewlinks_expired` BIT(1) DEFAULT b'0',
|
|
`accviewlinks_userId` INT(10) UNSIGNED DEFAULT NULL,
|
|
`accviewlinks_hash` VARBINARY(100) DEFAULT '',
|
|
`accviewlinks_actionId` SMALLINT(5) UNSIGNED DEFAULT NULL,
|
|
PRIMARY KEY (`accviewlinks_id`),
|
|
UNIQUE KEY `unique_accviewlinks_id` (`accviewlinks_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = latin1;
|
|
|
|
CREATE TABLE `accounts` (
|
|
`account_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`account_userGroupId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`account_userId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`account_userEditId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`account_customerId` INT(10) UNSIGNED NOT NULL,
|
|
`account_name` VARCHAR(50) NOT NULL,
|
|
`account_categoryId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`account_login` VARCHAR(50) DEFAULT NULL,
|
|
`account_url` VARCHAR(255) DEFAULT NULL,
|
|
`account_pass` VARBINARY(255) NOT NULL,
|
|
`account_IV` VARBINARY(32) NOT NULL,
|
|
`account_notes` TEXT,
|
|
`account_countView` INT(10) UNSIGNED NOT NULL DEFAULT '0',
|
|
`account_countDecrypt` INT(10) UNSIGNED NOT NULL DEFAULT '0',
|
|
`account_dateAdd` DATETIME NOT NULL,
|
|
`account_dateEdit` DATETIME NOT NULL,
|
|
`account_otherGroupEdit` BIT(1) DEFAULT b'0',
|
|
`account_otherUserEdit` BIT(1) DEFAULT b'0',
|
|
PRIMARY KEY (`account_id`),
|
|
KEY `IDX_categoryId` (`account_categoryId`),
|
|
KEY `IDX_userId` (`account_userGroupId`, `account_userId`),
|
|
KEY `IDX_customerId` (`account_customerId`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `authTokens` (
|
|
`authtoken_id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`authtoken_userId` INT(11) NOT NULL,
|
|
`authtoken_token` VARBINARY(100) NOT NULL,
|
|
`authtoken_actionId` SMALLINT(5) UNSIGNED NOT NULL,
|
|
`authtoken_createdBy` SMALLINT(5) UNSIGNED NOT NULL,
|
|
`authtoken_startDate` INT(10) UNSIGNED NOT NULL,
|
|
PRIMARY KEY (`authtoken_id`),
|
|
UNIQUE KEY `unique_authtoken_id` (`authtoken_id`),
|
|
KEY `IDX_checkToken` (`authtoken_userId`, `authtoken_actionId`, `authtoken_token`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `categories` (
|
|
`category_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`category_name` VARCHAR(50) NOT NULL,
|
|
`category_description` VARCHAR(255) DEFAULT NULL,
|
|
PRIMARY KEY (`category_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `config` (
|
|
`config_parameter` VARCHAR(50) NOT NULL,
|
|
`config_value` VARCHAR(2000) NOT NULL,
|
|
UNIQUE KEY `vacParameter` (`config_parameter`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `customers` (
|
|
`customer_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`customer_name` VARCHAR(100) NOT NULL,
|
|
`customer_hash` VARBINARY(40) NOT NULL,
|
|
`customer_description` VARCHAR(255) DEFAULT NULL,
|
|
PRIMARY KEY (`customer_id`),
|
|
KEY `IDX_name` (`customer_name`, `customer_hash`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `customFieldsDef` (
|
|
`customfielddef_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`customfielddef_module` SMALLINT(5) UNSIGNED NOT NULL,
|
|
`customfielddef_field` BLOB NOT NULL,
|
|
PRIMARY KEY (`customfielddef_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `customFieldsData` (
|
|
`customfielddata_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`customfielddata_moduleId` SMALLINT(5) UNSIGNED NOT NULL,
|
|
`customfielddata_itemId` INT(10) UNSIGNED NOT NULL,
|
|
`customfielddata_defId` INT(10) UNSIGNED NOT NULL,
|
|
`customfielddata_data` LONGBLOB,
|
|
`customfielddata_iv` VARBINARY(128) DEFAULT NULL,
|
|
PRIMARY KEY (`customfielddata_id`),
|
|
KEY `IDX_DEFID` (`customfielddata_defId`),
|
|
KEY `IDX_DELETE` (`customfielddata_itemId`, `customfielddata_moduleId`),
|
|
KEY `IDX_UPDATE` (`customfielddata_moduleId`, `customfielddata_itemId`, `customfielddata_defId`),
|
|
KEY `IDX_ITEM` (`customfielddata_itemId`),
|
|
KEY `IDX_MODULE` (`customfielddata_moduleId`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `log` (
|
|
`log_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`log_date` INT(10) UNSIGNED NOT NULL,
|
|
`log_login` VARCHAR(25) NOT NULL,
|
|
`log_userId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`log_ipAddress` VARCHAR(45) NOT NULL,
|
|
`log_action` VARCHAR(50) NOT NULL,
|
|
`log_description` TEXT NOT NULL,
|
|
`log_level` VARCHAR(20) NOT NULL,
|
|
PRIMARY KEY (`log_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `usrData` (
|
|
`user_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`user_name` VARCHAR(80) NOT NULL,
|
|
`user_groupId` TINYINT(3) UNSIGNED NOT NULL,
|
|
`user_secGroupId` TINYINT(3) UNSIGNED DEFAULT NULL,
|
|
`user_login` VARCHAR(50) NOT NULL,
|
|
`user_pass` VARBINARY(255) NOT NULL,
|
|
`user_mPass` VARBINARY(255) DEFAULT NULL,
|
|
`user_mIV` VARBINARY(32) NOT NULL,
|
|
`user_email` VARCHAR(80) DEFAULT NULL,
|
|
`user_notes` TEXT,
|
|
`user_count` INT(10) UNSIGNED NOT NULL DEFAULT '0',
|
|
`user_profileId` TINYINT(4) NOT NULL,
|
|
`user_lastLogin` DATETIME DEFAULT NULL,
|
|
`user_lastUpdate` DATETIME DEFAULT NULL,
|
|
`user_lastUpdateMPass` INT(11) UNSIGNED NOT NULL DEFAULT '0',
|
|
`user_isAdminApp` BIT(1) NOT NULL DEFAULT b'0',
|
|
`user_isAdminAcc` BIT(1) NOT NULL DEFAULT b'0',
|
|
`user_isLdap` BIT(1) NOT NULL DEFAULT b'0',
|
|
`user_isDisabled` BIT(1) NOT NULL DEFAULT b'0',
|
|
`user_hashSalt` VARBINARY(128) NOT NULL,
|
|
`user_isMigrate` BIT(1) DEFAULT b'0',
|
|
`user_isChangePass` BIT(1) DEFAULT b'0',
|
|
`user_preferences` BLOB,
|
|
PRIMARY KEY (`user_id`),
|
|
UNIQUE KEY `IDX_login` (`user_login`),
|
|
KEY `IDX_pass` (`user_pass`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `usrGroups` (
|
|
`usergroup_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`usergroup_name` VARCHAR(50) NOT NULL,
|
|
`usergroup_description` VARCHAR(255) DEFAULT NULL,
|
|
PRIMARY KEY (`usergroup_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `usrPassRecover` (
|
|
`userpassr_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`userpassr_userId` SMALLINT(5) UNSIGNED NOT NULL,
|
|
`userpassr_hash` VARBINARY(40) NOT NULL,
|
|
`userpassr_date` INT(10) UNSIGNED NOT NULL,
|
|
`userpassr_used` BIT(1) NOT NULL,
|
|
PRIMARY KEY (`userpassr_id`),
|
|
KEY `IDX_userId` (`userpassr_userId`, `userpassr_date`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `usrProfiles` (
|
|
`userprofile_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`userprofile_name` VARCHAR(45) NOT NULL,
|
|
`userProfile_profile` BLOB NOT NULL,
|
|
PRIMARY KEY (`userprofile_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `usrToGroups` (
|
|
`usertogroup_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`usertogroup_userId` INT(10) UNSIGNED NOT NULL,
|
|
`usertogroup_groupId` INT(10) UNSIGNED NOT NULL,
|
|
PRIMARY KEY (`usertogroup_id`),
|
|
KEY `IDX_usertogroup_userId` (`usertogroup_userId`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `publicLinks` (
|
|
`publicLink_id` INT NOT NULL AUTO_INCREMENT,
|
|
`publicLink_itemId` INT,
|
|
`publicLink_hash` VARBINARY(100) NOT NULL,
|
|
`publicLink_linkData` LONGBLOB,
|
|
PRIMARY KEY (`publicLink_id`),
|
|
KEY `IDX_itemId` (`publicLink_itemId`),
|
|
UNIQUE KEY `IDX_hash` (`publicLink_hash`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `accFavorites` (
|
|
`accfavorite_accountId` SMALLINT UNSIGNED NOT NULL,
|
|
`accfavorite_userId` SMALLINT UNSIGNED NOT NULL,
|
|
INDEX `fk_accFavorites_accounts_idx` (`accfavorite_accountId` ASC),
|
|
INDEX `fk_accFavorites_users_idx` (`accfavorite_userId` ASC),
|
|
INDEX `search_idx` (`accfavorite_accountId` ASC, `accfavorite_userId` ASC),
|
|
CONSTRAINT `fk_accFavorites_accounts`
|
|
FOREIGN KEY (`accfavorite_accountId`)
|
|
REFERENCES `accounts` (`account_id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_accFavorites_users`
|
|
FOREIGN KEY (`accfavorite_userId`)
|
|
REFERENCES `usrData` (`user_id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE NO ACTION
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `tags` (
|
|
`tag_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`tag_name` VARCHAR(45) NOT NULL,
|
|
`tag_hash` BINARY(20) NOT NULL,
|
|
PRIMARY KEY (`tag_id`),
|
|
INDEX `IDX_name` (`tag_name` ASC),
|
|
UNIQUE INDEX `tag_hash_UNIQUE` (`tag_hash` ASC)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
;
|
|
|
|
CREATE TABLE `accTags` (
|
|
`acctag_accountId` INT UNSIGNED NOT NULL,
|
|
`acctag_tagId` INT UNSIGNED NOT NULL,
|
|
INDEX `IDX_id` (`acctag_accountId` ASC, `acctag_tagId` ASC)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
/*!40103 SET TIME_ZONE = @OLD_TIME_ZONE */;
|
|
/*!40101 SET SQL_MODE = @OLD_SQL_MODE */;
|
|
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
|
|
/*!40014 SET UNIQUE_CHECKS = @OLD_UNIQUE_CHECKS */;
|
|
/*!40101 SET CHARACTER_SET_CLIENT = @OLD_CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET CHARACTER_SET_RESULTS = @OLD_CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET COLLATION_CONNECTION = @OLD_COLLATION_CONNECTION */;
|
|
/*!40111 SET SQL_NOTES = @OLD_SQL_NOTES */; |