mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-28 03:31:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			194 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| -- This file will be read by the letodms update script
 | |
| -- place empty lines in between sql commands you would like to
 | |
| -- be executed separately
 | |
| -- put -- in front of a line if it is a comment like this line
 | |
| DROP PROCEDURE IF EXISTS DROPFK;
 | |
| 
 | |
| -- uncomment the following if run in mysql client
 | |
| -- DELIMITER $$ ;
 | |
| 
 | |
| CREATE PROCEDURE DROPFK (
 | |
| IN parm_table_name VARCHAR(100),
 | |
| IN parm_key_name VARCHAR(100)
 | |
| )
 | |
| BEGIN
 | |
| 	SET @table_name = parm_table_name;
 | |
| 	SET @key_name = parm_key_name;
 | |
| 	SET @sql_text = concat('ALTER TABLE ',@table_name,' DROP FOREIGN KEY ',@key_name);
 | |
| 	IF EXISTS (SELECT NULL FROM information_schema.TABLE_CONSTRAINTS
 | |
| 		WHERE CONSTRAINT_SCHEMA = DATABASE() AND CONSTRAINT_NAME = parm_key_name) THEN
 | |
| 		PREPARE stmt FROM @sql_text;
 | |
| 		EXECUTE stmt;
 | |
| 		DEALLOCATE PREPARE stmt;
 | |
| 	END IF;
 | |
| END
 | |
| 
 | |
| -- place a $$ after the last END if run the file in mysql client
 | |
| -- uncomment the following if run in mysql client
 | |
| -- DELIMITER ; $$
 | |
| 
 | |
| START TRANSACTION;
 | |
| 
 | |
| ALTER TABLE `tblDocumentContent` MODIFY `version` smallint(5) unsigned NOT NULL;
 | |
| 
 | |
| ALTER TABLE tblACLs ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblCategory ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblUsers ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblUserPasswordRequest ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblUserImages ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblFolders ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocuments ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentApprovers ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentApproveLog ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentContent ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentLinks ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentFiles ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentLocks ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentReviewers ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentReviewLog ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentStatus ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentStatusLog ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblGroups ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblGroupMembers ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblKeywordCategories ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblKeywords ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblDocumentCategory ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblNotify ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblSessions ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblMandatoryReviewers ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblMandatoryApprovers ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblEvents ENGINE=InnoDB;
 | |
| 
 | |
| ALTER TABLE tblVersion ENGINE=InnoDB;
 | |
| 
 | |
| CALL DROPFK('tblFolders', 'tblFolders_owner');
 | |
| 
 | |
| ALTER TABLE tblFolders ADD CONSTRAINT `tblFolders_owner` FOREIGN KEY (`owner`) REFERENCES `tblUsers` (`id`);
 | |
| 
 | |
| CALL DROPFK('tblDocuments', 'tblDocuments_owner');
 | |
| 
 | |
| ALTER TABLE tblDocuments ADD CONSTRAINT `tblDocuments_owner` FOREIGN KEY (`owner`) REFERENCES `tblUsers` (`id`);
 | |
| 
 | |
| CALL DROPFK('tblDocuments', 'tblDocuments_folder');
 | |
| 
 | |
| ALTER TABLE tblDocuments ADD CONSTRAINT `tblDocuments_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`);
 | |
| 
 | |
| CALL DROPFK('tblDocumentContent', 'tblDocumentContent_document');
 | |
| 
 | |
| ALTER TABLE tblDocumentContent DROP PRIMARY KEY;
 | |
| 
 | |
| ALTER TABLE tblDocumentContent ADD CONSTRAINT `tblDocumentContent_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`);
 | |
| 
 | |
| CALL DROPFK('tblDocumentLinks', 'tblDocumentLinks_user');
 | |
| 
 | |
| ALTER TABLE tblDocumentLinks ADD CONSTRAINT `tblDocumentLinks_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`);
 | |
| 
 | |
| CALL DROPFK('tblDocumentFiles', 'tblDocumentFiles_user');
 | |
| 
 | |
| ALTER TABLE tblDocumentFiles ADD CONSTRAINT `tblDocumentFiles_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`);
 | |
| 
 | |
| ALTER TABLE tblGroupMembers DROP PRIMARY KEY;
 | |
| 
 | |
| ALTER TABLE tblGroupMembers ADD UNIQUE(`groupID`,`userID`);
 | |
| 
 | |
| ALTER TABLE tblGroupMembers ADD CONSTRAINT `tblGroupMembers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE;
 | |
| 
 | |
| ALTER TABLE tblGroupMembers ADD CONSTRAINT `tblGroupMembers_group` FOREIGN KEY (`groupID`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE;
 | |
| 
 | |
| CREATE TABLE `tblAttributeDefinitions` (
 | |
|   `id` int(11) NOT NULL auto_increment,
 | |
|   `name` varchar(100) default NULL,
 | |
|   `objtype` tinyint(4) NOT NULL default '0',
 | |
|   `type` tinyint(4) NOT NULL default '0',
 | |
|   `multiple` tinyint(4) NOT NULL default '0',
 | |
|   `minvalues` int(11) NOT NULL default '0',
 | |
|   `maxvalues` int(11) NOT NULL default '0',
 | |
|   `valueset` text default NULL,
 | |
| 	UNIQUE(`name`),
 | |
|   PRIMARY KEY  (`id`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 | |
| 
 | |
| CREATE TABLE `tblFolderAttributes` (
 | |
|   `id` int(11) NOT NULL auto_increment,
 | |
|   `folder` int(11) default NULL,
 | |
|   `attrdef` int(11) default NULL,
 | |
|   `value` text default NULL,
 | |
|   PRIMARY KEY  (`id`),
 | |
| 	UNIQUE (folder, attrdef),
 | |
|   CONSTRAINT `tblFolderAttributes_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`) ON DELETE CASCADE,
 | |
|   CONSTRAINT `tblFolderAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 | |
| 
 | |
| CREATE TABLE `tblDocumentAttributes` (
 | |
|   `id` int(11) NOT NULL auto_increment,
 | |
|   `document` int(11) default NULL,
 | |
|   `attrdef` int(11) default NULL,
 | |
|   `value` text default NULL,
 | |
|   PRIMARY KEY  (`id`),
 | |
| 	UNIQUE (document, attrdef),
 | |
|   CONSTRAINT `tblDocumentAttributes_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE,
 | |
|   CONSTRAINT `tblDocumentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 | |
| 
 | |
| ALTER TABLE tblDocumentContent ADD COLUMN `id` int(11) NOT NULL auto_increment PRIMARY KEY FIRST;
 | |
| 
 | |
| CREATE TABLE `tblDocumentContentAttributes` (
 | |
|   `id` int(11) NOT NULL auto_increment,
 | |
|   `content` int(11) default NULL,
 | |
|   `attrdef` int(11) default NULL,
 | |
|   `value` text default NULL,
 | |
|   PRIMARY KEY  (`id`),
 | |
| 	UNIQUE (content, attrdef),
 | |
|   CONSTRAINT `tblDocumentContentAttributes_document` FOREIGN KEY (`content`) REFERENCES `tblDocumentContent` (`id`) ON DELETE CASCADE,
 | |
|   CONSTRAINT `tblDocumentContentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`)
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 | |
| 
 | |
| CREATE TABLE `tblUserPasswordHistory` (
 | |
|   `id` int(11) NOT NULL auto_increment,
 | |
|   `userID` int(11) NOT NULL default '0',
 | |
|   `pwd` varchar(50) default NULL,
 | |
|   `date` datetime NOT NULL default '0000-00-00 00:00:00',
 | |
|   PRIMARY KEY  (`id`),
 | |
|   CONSTRAINT `tblUserPasswordHistory_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 | |
| 
 | |
| ALTER TABLE tblUsers ADD COLUMN `pwdExpiration` datetime NOT NULL default '0000-00-00 00:00:00';
 | |
| 
 | |
| ALTER TABLE tblUsers ADD COLUMN `loginfailures` tinyint(4) NOT NULL default '0';
 | |
| 
 | |
| ALTER TABLE tblUsers ADD COLUMN `disabled` smallint(4) NOT NULL default '0';
 | |
| 
 | |
| ALTER TABLE tblUsers ADD UNIQUE(`login`);
 | |
| 
 | |
| UPDATE tblVersion set date=NOW(), major=3, minor=4, subminor=0;
 | |
| 
 | |
| COMMIT;
 | |
| 
 | |
| DROP PROCEDURE IF EXISTS DROPFK;
 | 
