24 lines
1.5 KiB
SQL
24 lines
1.5 KiB
SQL
-- vn.agencyLog definition
|
|
ALTER TABLE vn.agency ADD IF NOT EXISTS editorFk int(10) unsigned DEFAULT NULL NULL;
|
|
|
|
ALTER TABLE vn.agency ADD CONSTRAINT agency_user_FK FOREIGN KEY (editorFk) REFERENCES `account`.`user`(id);
|
|
|
|
CREATE TABLE IF NOT EXISTS `vn`.`agencyLog` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`originFk` smallint(5) unsigned DEFAULT NULL,
|
|
`userFk` int(10) unsigned DEFAULT NULL,
|
|
`action` set('insert','update','delete','select') NOT NULL,
|
|
`creationDate` timestamp NULL DEFAULT current_timestamp(),
|
|
`description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
|
|
`changedModel` enum('agency','agencyMode') NOT NULL DEFAULT 'agency',
|
|
`oldInstance` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`oldInstance`)),
|
|
`newInstance` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`newInstance`)),
|
|
`changedModelId` int(11) NOT NULL,
|
|
`changedModelValue` varchar(45) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `logAgencyUserFk` (`userFk`),
|
|
KEY `agencyLog_changedModel` (`changedModel`,`changedModelId`,`creationDate`),
|
|
KEY `agencyLog_originFk` (`originFk`,`creationDate`),
|
|
CONSTRAINT `agencyOriginFk` FOREIGN KEY (`originFk`) REFERENCES `agency` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `agencyUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; |