diff --git a/install/update-6.0.0/update-sqlite3.sql b/install/update-6.0.0/update-sqlite3.sql new file mode 100644 index 000000000..10ba0ce4a --- /dev/null +++ b/install/update-6.0.0/update-sqlite3.sql @@ -0,0 +1,78 @@ +BEGIN; + +ALTER TABLE `tblDocumentContent` ADD COLUMN `revisiondate` TEXT NOT NULL default '0000-00-00 00:00:00'; + +CREATE TABLE `tblUserSubstitutes` ( + `id` INTEGER PRIMARY KEY AUTOINCREMENT, + `user` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, + `substitute` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, + UNIQUE (`user`, `substitute`) +); + +CREATE TABLE `tblDocumentCheckOuts` ( + `document` INTEGER REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, + `version` INTEGER unsigned NOT NULL default '0', + `userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`), + `date` TEXT NOT NULL default '0000-00-00 00:00:00', + `filename` varchar(255) NOT NULL default '', + UNIQUE (`document`) +) ; + +CREATE TABLE `tblDocumentRecipients` ( + `receiptID` INTEGER PRIMARY KEY AUTOINCREMENT, + `documentID` INTEGER NOT NULL default '0' REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, + `version` INTEGER unsigned NOT NULL default '0', + `type` INTEGER NOT NULL default '0', + `required` INTEGER NOT NULL default '0', + UNIQUE (`documentID`,`version`,`type`,`required`) +) ; + +CREATE TABLE `tblDocumentReceiptLog` ( + `receiptLogID` INTEGER PRIMARY KEY AUTOINCREMENT, + `receiptID` INTEGER NOT NULL default 0 REFERENCES `tblDocumentRecipients` (`receiptID`) ON DELETE CASCADE, + `status` INTEGER NOT NULL default 0, + `comment` TEXT NOT NULL, + `date` TEXT NOT NULL default '0000-00-00 00:00:00', + `userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`) ON DELETE CASCADE +) ; + +CREATE TABLE `tblDocumentRevisors` ( + `revisionID` INTEGER PRIMARY KEY AUTOINCREMENT, + `documentID` INTEGER NOT NULL default '0' REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, + `version` INTEGER unsigned NOT NULL default '0', + `type` INTEGER NOT NULL default '0', + `required` INTEGER NOT NULL default '0', + `startdate` TEXT default NULL, + UNIQUE (`documentID`,`version`,`type`,`required`) +) ; + +CREATE TABLE `tblDocumentRevisionLog` ( + `revisionLogID` INTEGER PRIMARY KEY AUTOINCREMENT, + `revisionID` INTEGER NOT NULL default 0 REFERENCES `tblDocumentRevisors` (`revisionID`) ON DELETE CASCADE, + `status` INTEGER NOT NULL default 0, + `comment` TEXT NOT NULL, + `date` TEXT NOT NULL default '0000-00-00 00:00:00', + `userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`) ON DELETE CASCADE +) ; + +CREATE TABLE tblTransmittals ( + `id` INTEGER PRIMARY KEY AUTOINCREMENT, + `name` text NOT NULL, + `comment` text NOT NULL, + `userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, + `date` TEXT NOT NULL default '0000-00-00 00:00:00', + `public` INTEGER NOT NULL default '0' +); + +CREATE TABLE `tblTransmittalItems` ( + `id` INTEGER PRIMARY KEY AUTOINCREMENT, + `transmittal` INTEGER NOT NULL DEFAULT '0' REFERENCES `tblTransmittals` (`id`) ON DELETE CASCADE, + `document` INTEGER default NULL REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, + `version` INTEGER unsigned NOT NULL default '0', + `date` TEXT NOT NULL default '0000-00-00 00:00:00', + UNIQUE (document, version) +); + +UPDATE tblVersion set major=6, minor=0, subminor=0; + +COMMIT; diff --git a/install/update-6.0.0/update.sql b/install/update-6.0.0/update.sql new file mode 100644 index 000000000..2639d399a --- /dev/null +++ b/install/update-6.0.0/update.sql @@ -0,0 +1,101 @@ +START TRANSACTION; + +ALTER TABLE `tblDocumentContent` ADD COLUMN `revisiondate` datetime default NULL; + + +CREATE TABLE `tblUserSubstitutes` ( + `id` int(11) NOT NULL auto_increment, + `user` int(11) default null, + `substitute` int(11) default null, + PRIMARY KEY (`id`), + UNIQUE (`user`, `substitute`), + CONSTRAINT `tblUserSubstitutes_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblUserSubstitutes_substitute` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE +); + +CREATE TABLE `tblDocumentCheckOuts` ( + `document` int(11) NOT NULL default '0', + `version` smallint(5) unsigned NOT NULL default '0', + `userID` int(11) NOT NULL default '0', + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `filename` varchar(255) NOT NULL default '', + PRIMARY KEY (`document`), + CONSTRAINT `tblDocumentCheckOuts_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblDocumentCheckOuts_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tblDocumentRecipients` ( + `receiptID` int(11) NOT NULL auto_increment, + `documentID` int(11) NOT NULL default '0', + `version` smallint(5) unsigned NOT NULL default '0', + `type` tinyint(4) NOT NULL default '0', + `required` int(11) NOT NULL default '0', + PRIMARY KEY (`receiptID`), + UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), + CONSTRAINT `tblDocumentRecipients_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tblDocumentReceiptLog` ( + `receiptLogID` int(11) NOT NULL auto_increment, + `receiptID` int(11) NOT NULL default '0', + `status` tinyint(4) NOT NULL default '0', + `comment` text NOT NULL, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `userID` int(11) NOT NULL default '0', + PRIMARY KEY (`receiptLogID`), + CONSTRAINT `tblDocumentReceiptLog_recipient` FOREIGN KEY (`receiptID`) REFERENCES `tblDocumentRecipients` (`receiptID`) ON DELETE CASCADE, + CONSTRAINT `tblDocumentReceiptLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tblDocumentRevisors` ( + `revisionID` int(11) NOT NULL auto_increment, + `documentID` int(11) NOT NULL default '0', + `version` smallint(5) unsigned NOT NULL default '0', + `type` tinyint(4) NOT NULL default '0', + `required` int(11) NOT NULL default '0', + `startdate` datetime default NULL, + PRIMARY KEY (`revisionID`), + UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), + CONSTRAINT `tblDocumentRevisors_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tblDocumentRevisionLog` ( + `revisionLogID` int(11) NOT NULL auto_increment, + `revisionID` int(11) NOT NULL default '0', + `status` tinyint(4) NOT NULL default '0', + `comment` text NOT NULL, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `userID` int(11) NOT NULL default '0', + PRIMARY KEY (`revisionLogID`), + CONSTRAINT `tblDocumentRevisionLog_revision` FOREIGN KEY (`revisionID`) REFERENCES `tblDocumentRevisors` (`revisionID`) ON DELETE CASCADE, + CONSTRAINT `tblDocumentRevisionLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tblTransmittals` ( + `id` int(11) NOT NULL auto_increment, + `name` text NOT NULL, + `comment` text NOT NULL, + `userID` int(11) NOT NULL default '0', + `date` datetime, + `public` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`id`), + CONSTRAINT `tblTransmittals_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tblTransmittalItems` ( + `id` int(11) NOT NULL auto_increment, + `transmittal` int(11) NOT NULL DEFAULT '0', + `document` int(11) default NULL, + `version` smallint(5) unsigned NOT NULL default '0', + `date` datetime, + PRIMARY KEY (`id`), + UNIQUE (document, version), + CONSTRAINT `tblTransmittalItems_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblTransmittalItem_transmittal` FOREIGN KEY (`transmittal`) REFERENCES `tblTransmittals` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +UPDATE tblVersion set major=6, minor=0, subminor=0; + +COMMIT; + +