seeddms-code/install/update-4.0.0/update.sql
2021-05-27 12:57:44 +02:00

115 lines
5.0 KiB
SQL

SET SQL_MODE='ALLOW_INVALID_DATES';
START TRANSACTION;
ALTER TABLE tblDocumentLinks ADD CONSTRAINT `tblDocumentLinks_target` FOREIGN KEY (`target`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE;
ALTER TABLE tblMandatoryReviewers ADD CONSTRAINT `tblMandatoryReviewers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE;
ALTER TABLE tblMandatoryApprovers ADD CONSTRAINT `tblMandatoryApprovers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE;
ALTER TABLE tblDocumentContent ADD COLUMN `fileSize` bigint;
ALTER TABLE tblDocumentContent ADD COLUMN `checksum` char(32);
ALTER TABLE tblUsers ADD COLUMN `quota` bigint;
ALTER TABLE tblSessions ADD COLUMN `clipboard` text DEFAULT NULL;
CREATE TABLE tblWorkflowStates (
`id` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
`visibility` smallint(5) DEFAULT 0,
`maxtime` int(11) DEFAULT 0,
`precondfunc` text DEFAULT NULL,
`documentstatus` smallint(5) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflowActions (
`id` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflows (
`id` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
`initstate` int(11) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `tblWorkflow_initstate` FOREIGN KEY (`initstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflowTransitions (
`id` int(11) NOT NULL auto_increment,
`workflow` int(11) default NULL,
`state` int(11) default NULL,
`action` int(11) default NULL,
`nextstate` int(11) default NULL,
`maxtime` int(11) DEFAULT 0,
PRIMARY KEY (`id`),
CONSTRAINT `tblWorkflowTransitions_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowTransitions_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowTransitions_action` FOREIGN KEY (`action`) REFERENCES `tblWorkflowActions` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowTransitions_nextstate` FOREIGN KEY (`nextstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflowTransitionUsers (
`id` int(11) NOT NULL auto_increment,
`transition` int(11) default NULL,
`userid` int(11) default NULL,
PRIMARY KEY (`id`),
CONSTRAINT `tblWorkflowTransitionUsers_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflowTransitionGroups (
`id` int(11) NOT NULL auto_increment,
`transition` int(11) default NULL,
`groupid` int(11) default NULL,
`minusers` int(11) default NULL,
PRIMARY KEY (`id`),
CONSTRAINT `tblWorkflowTransitionGroups_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflowLog (
`id` int(11) NOT NULL auto_increment,
`document` int(11) default NULL,
`version` smallint(5) default NULL,
`workflow` int(11) default NULL,
`userid` int(11) default NULL,
`transition` int(11) default NULL,
`nextstate` int(11) default NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`comment` text,
PRIMARY KEY (`id`),
CONSTRAINT `tblWorkflowLog_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowLog_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowLog_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowLog_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflowDocumentContent (
`parentworkflow` int(11) DEFAULT 0,
`workflow` int(11) DEFAULT NULL,
`document` int(11) DEFAULT NULL,
`version` smallint(5) DEFAULT NULL,
`state` int(11) DEFAULT NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
CONSTRAINT `tblWorkflowDocument_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowDocument_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowDocument_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tblWorkflowMandatoryWorkflow (
`userid` int(11) default NULL,
`workflow` int(11) default NULL,
UNIQUE(userid, workflow),
CONSTRAINT `tblWorkflowMandatoryWorkflow_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblWorkflowMandatoryWorkflow_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
UPDATE tblVersion set date=NOW(), major=4, minor=0, subminor=0;
COMMIT;