mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-31 11:48:39 -04:00
50 lines
2.3 KiB
SQL
50 lines
2.3 KiB
SQL
CREATE TABLE IF NOT EXISTS `ospos_person_attribute_definitions` (
|
|
`definition_id` INT(10) NOT NULL AUTO_INCREMENT,
|
|
`definition_name` VARCHAR(255) NOT NULL,
|
|
`definition_type` VARCHAR(45) NOT NULL,
|
|
`definition_unit` VARCHAR(16) NULL,
|
|
`definition_flags` TINYINT(4) NOT NULL,
|
|
`definition_fk` INT(10) NULL,
|
|
`deleted` TINYINT(1) NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (`definition_id`),
|
|
KEY `definition_fk` (`definition_fk`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ospos_person_attribute_values` (
|
|
`person_attribute_id` INT NOT NULL AUTO_INCREMENT,
|
|
`person_attribute_value` VARCHAR(255) UNIQUE NULL,
|
|
`person_attribute_date` DATETIME NULL,
|
|
`person_attribute_decimal` DECIMAL(7,3) NULL,
|
|
PRIMARY KEY (`person_attribute_id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ospos_person_attribute_links` (
|
|
`person_attribute_id` INT NULL,
|
|
`definition_id` INT NOT NULL,
|
|
`person_id` INT NULL,
|
|
KEY `person_attribute_id` (`person_attribute_id`),
|
|
KEY `definition_id` (`definition_id`),
|
|
KEY `person_id` (`person_id`),
|
|
UNIQUE `person_attribute_links_uq1` (`person_attribute_id`, `definition_id`, `person_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
|
|
|
|
|
|
ALTER TABLE `ospos_person_attribute_definitions`
|
|
ADD CONSTRAINT `fk_ospos_person_attribute_definitions_ibfk_1` FOREIGN KEY (`definition_fk`) REFERENCES `ospos_person_attribute_definitions` (`definition_id`);
|
|
|
|
|
|
ALTER TABLE `ospos_person_attribute_links`
|
|
ADD CONSTRAINT `ospos_person_attribute_links_ibfk_1` FOREIGN KEY (`definition_id`) REFERENCES `ospos_person_attribute_definitions` (`definition_id`) ON DELETE CASCADE,
|
|
ADD CONSTRAINT `ospos_person_attribute_links_ibfk_2` FOREIGN KEY (`person_attribute_id`) REFERENCES `ospos_person_attribute_values` (`person_attribute_id`) ON DELETE CASCADE,
|
|
ADD CONSTRAINT `ospos_person_attribute_links_ibfk_3` FOREIGN KEY (`person_id`) REFERENCES `ospos_people` (`person_id`);
|
|
|
|
INSERT INTO `ospos_modules` (`name_lang_key`, `desc_lang_key`, `sort`, `module_id`) VALUES
|
|
('module_person_attributes', 'module_person_attributes_desc', 108, 'person_attributes');
|
|
|
|
INSERT INTO `ospos_permissions` (`permission_id`, `module_id`) VALUES
|
|
('person_attributes', 'person_attributes');
|
|
|
|
INSERT INTO `ospos_grants` (`permission_id`, `person_id`, `menu_group`) VALUES
|
|
('person_attributes', 1, 'office'); |