
ALTER TABLE T_EditVersion ADD ReplaceDocumentId INT NULL;
COMMIT;

UPDATE T_EditVersion SET ReplaceDocumentId = 0 WHERE ReplaceDocumentId IS NULL;
COMMIT;

ALTER TABLE T_Document ADD DocumentType NVARCHAR2(8) NULL;
COMMIT;

UPDATE T_Document SET DocumentType='RD' WHERE DocumentType IS NULL;
COMMIT;

ALTER TABLE T_Document MODIFY DocumentType NVARCHAR2(8) NOT NULL;
COMMIT;

ALTER TABLE T_Document ADD AlwaysCreateReview INT NULL;
COMMIT;

ALTER TABLE T_Document ADD Deleted INT NULL;
COMMIT;

ALTER TABLE T_Document ADD PublishStatus NVARCHAR2(128) NULL;
COMMIT;

ALTER TABLE T_PermissionSet ADD Product NVARCHAR2(128) NULL;
COMMIT;

ALTER TABLE T_WorkgroupMember ADD AuthorRole NVARCHAR2(128) NULL;
COMMIT;

Create Table T_GenDocAudit (
	ObjectId				INT			NOT NULL,
	SubjectId				INT			NOT NULL,
	WorkgroupId				INT			NOT NULL,
	GenerateDate			DATE		NOT NULL,
	GenDocTitle				NVARCHAR2(128) NOT NULL,
	TemplateDocumentId		INT			NOT NULL,
	TemplateDocumentTitle	NVARCHAR2(128)
);
CREATE UNIQUE INDEX IX_GenDocAudit ON T_GenDocAudit (ObjectId);
CREATE INDEX IX_GenDocAudit2 ON T_GenDocAudit (SubjectId);
CREATE INDEX IX_GenDocAudit3 ON T_GenDocAudit (WorkgroupId);

COMMIT;

Create Table T_GenDocFragmentAudit (
	ObjectId				INT			NOT NULL,
	GenDocAuditId			INT			NOT NULL,
	FragmentDocumentId		INT			NOT NULL,
	FragmentDocumentTitle	NVARCHAR2(128)
);
CREATE UNIQUE INDEX IX_GenDocFragmentAudit ON T_GenDocFragmentAudit (ObjectId);
CREATE INDEX IX_GenDocFragmentAudit2 ON T_GenDocFragmentAudit (GenDocAuditId, FragmentDocumentId);

COMMIT;

ALTER TABLE T_Document ADD Tags NVARCHAR2(1024) NULL;

COMMIT;

ALTER TABLE T_Workgroup ADD IsPublic INT NULL;

COMMIT;

ALTER TABLE T_Edit ADD ReadOnly INT NULL;
COMMIT;

INSERT INTO T_PermissionSet (ObjectId,	PermissionType, Title, 		PermissionFlags, Product)
VALUES (33,'Workgroup','Document Initiator',
';GENERATEDOCUMENT;','PleaseAuthor');

COMMIT;

INSERT INTO T_PermissionSet (ObjectId,	PermissionType, Title, 		PermissionFlags, Product)
VALUES (34,'Workgroup','Content Administrator',
';GENERATEDOCUMENT;MANAGECONTENT;MANAGEFOLDER;MANAGETEMPLATE;','PleaseAuthor');

COMMIT;

UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 1 AND PermissionType = 'Review';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 2 AND PermissionType = 'Review';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 3 AND PermissionType = 'Review';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 4 AND PermissionType = 'Review';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 5 AND PermissionType = 'Review';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 6 AND PermissionType = 'Review';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 7 AND PermissionType = 'Review';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 8 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 9 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 10 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 11 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 12 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 13 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 14 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 15 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 16 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 17 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 18 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 19 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 20 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 21 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 22 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 23 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 24 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 25 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 26 AND PermissionType = 'Workgroup';
COMMIT;

UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 28 AND PermissionType = 'ReviewZone';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 29 AND PermissionType = 'ReviewZone';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 30 AND PermissionType = 'ReviewZone';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 31 AND PermissionType = 'ReviewZone';
COMMIT;

UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 32 AND PermissionType = 'Review';
COMMIT;
 
UPDATE T_PermissionSet SET Product = 'PleaseAuthor' WHERE ObjectId = 33 AND PermissionType = 'Workgroup';
COMMIT;
UPDATE T_PermissionSet SET Product = 'PleaseAuthor' WHERE ObjectId = 34 AND PermissionType = 'Workgroup';
COMMIT;

UPDATE T_PermissionSet SET PermissionFlags = ';GENERATEDOCUMENT;' WHERE ObjectId = 33 AND PermissionType = 'Workgroup';
COMMIT;

UPDATE T_SystemPolicy SET PolicyAction = '2' WHERE ObjectId = 13 AND Permission = 'DEFAULTWATCH' AND PolicyAction = '4';
COMMIT;

INSERT INTO T_SystemPolicy(ObjectId,Principal,Permission,PolicyAction,PolicyObject)
VALUES (62, 'SYSTEM', 'RECYCLEPURGEDAYSAUTHOR', '30', 'SYSTEM');
COMMIT;