database update script for version 4.0.0

This commit is contained in:
steinm 2013-01-24 08:53:35 +00:00
parent 3b6c53c02c
commit 5a91f76421
2 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,29 @@
INSERT INTO tblWorkflowActions (name) VALUES ('revise');
SET @action_revise = LAST_INSERT_ID();
INSERT INTO tblWorkflowActions (name) VALUES ('approve');
SET @action_approve = LAST_INSERT_ID();
INSERT INTO tblWorkflowActions (name) VALUES ('complete');
SET @action_complete = LAST_INSERT_ID();
INSERT INTO tblWorkflowActions (name) VALUES ('review');
SET @action_review = LAST_INSERT_ID();
INSERT INTO tblWorkflowActions (name) VALUES ('reject');
SET @action_reject = LAST_INSERT_ID();
INSERT INTO tblWorkflowStates (name, visibility) VALUES ('UNDERREVISION', 0);
SET @state_u = LAST_INSERT_ID();
INSERT INTO tblWorkflowStates (name, visibility) VALUES ('WAITING_FOR_QM', 0);
SET @state_w = LAST_INSERT_ID();
INSERT INTO tblWorkflowStates (name, visibility) VALUES ('APPROVED', 1);
SET @state_a = LAST_INSERT_ID();
INSERT INTO tblWorkflowStates (name, visibility) VALUES ('REJECTED', 0);
SET @state_r = LAST_INSERT_ID();
INSERT INTO tblWorkflows (name, initstate) VALUES ('Standard', @state_u);
SET @workflowid = LAST_INSERT_ID();
INSERT INTO tblWorkflowTransitions (workflow, state, action, nextstate) VALUES (@workflowid, @state_u, @action_complete, @state_w);
INSERT INTO tblWorkflowTransitions (workflow, state, action, nextstate) VALUES (@workflowid, @state_w, @action_approve, @state_a);
INSERT INTO tblWorkflowTransitions (workflow, state, action, nextstate) VALUES (@workflowid, @state_w, @action_reject, @state_r);
INSERT INTO tblWorkflowTransitions (workflow, state, action, nextstate) VALUES (@workflowid, @state_w, @action_revise, @state_u);
INSERT INTO tblWorkflowTransitions (workflow, state, action, nextstate) VALUES (@workflowid, @state_a, @action_revise, @state_u);

View File

@ -0,0 +1,97 @@
ALTER TABLE tblDocumentLinks ADD CONSTRAINT `tblDocumentLinks_target` FOREIGN KEY (`target`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE;
ALTER TABLE tblDocumentReviewLog ADD CONSTRAINT `tblDocumentReviewLog_review` FOREIGN KEY (`reviewID`) REFERENCES `tblDocumentReviewers` (`reviewID`) 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 tblUsers ADD COLUMN `quota` bigint;
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,
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;