improved the issue show view to manipulate attached files

This commit is contained in:
2015-12-29 16:52:09 +00:00
parent e88ccc1a9b
commit e409324188
8 changed files with 976 additions and 39 deletions

View File

@ -103,14 +103,17 @@ CREATE TABLE "cpot_issue" (
CREATE INDEX cpot_issue_index_1 ON "cpot_issue"("projectid", "status", "type", "summary");
CREATE INDEX cpot_issue_index_2 ON "cpot_issue"("projectid", "summary");
CREATE TABLE "cpot_issue_attachment" (
"projectid" VARCHAR(32) NOT NULL,
"issueid" NUMBER(20,0) NOT NULL,
"name" VARCHAR(255) NOT NULL,
"encname" VARCHAR(255) NOT NULL,
"createdon" TIMESTAMP NOT NULL,
"createdby" VARCHAR(32) NOT NULL,
UNIQUE ("projectid", "issueid", "name"),
CREATE TABLE "cpot_issue_file_list" (
"projectid" VARCHAR(32) NOT NULL,
"issueid" NUMBER(20,0) NOT NULL,
"filename" VARCHAR(255) NOT NULL,
"encname" VARCHAR(255) NOT NULL,
"md5sum" CHAR(32) NOT NULL,
"description" CLOB NOT NULL,
"createdon" TIMESTAMP NOT NULL,
"createdby" VARCHAR(32) NOT NULL,
UNIQUE ("projectid", "issueid", "filename"),
UNIQUE ("encname"),
CONSTRAINT issue_attachment_projectid FOREIGN KEY ("projectid") REFERENCES "cpot_project"("id"),
CONSTRAINT issue_attachment_issueid FOREIGN KEY ("projectid","issueid") REFERENCES "cpot_issue"("projectid","id")
);
@ -242,7 +245,7 @@ END;
CREATE OR REPLACE TRIGGER cpot_upon_issue_id_update AFTER UPDATE OF "id" ON "cpot_issue" FOR EACH ROW
BEGIN
UPDATE "cpot_issue_attachment" SET "issueid" = :new."id" WHERE "projectid" = :old."projectid" AND "issueid" = :old."id";
UPDATE "cpot_issue_file_list" SET "issueid" = :new."id" WHERE "projectid" = :old."projectid" AND "issueid" = :old."id";
UPDATE "cpot_issue_change" SET "id" = :new."id" WHERE "projectid" = :old."projectid" AND "id" = :old."id";
UPDATE "cpot_issue_change_attachment" SET "issueid" = :new."id" WHERE "projectid" = :old."projectid" AND "issueid" = :old."id";
END;

View File

@ -135,6 +135,27 @@ CREATE TABLE issue_attachment (
ON DELETE RESTRICT ON UPDATE CASCADE
);
CREATE TABLE issue_file_list (
projectid VARCHAR(32) NOT NULL,
issueid BIGINT NOT NULL,
filename VARCHAR(255) NOT NULL,
encname VARCHAR(255) NOT NULL,
md5sum CHAR(32) NOT NULL,
description VARCHAR(255) NOT NULL,
createdon DATETIME NOT NULL,
createdby VARCHAR(32) NOT NULL,
UNIQUE (projectid, issueid, filename),
UNIQUE (encname),
CONSTRAINT issue_file_list_projectid FOREIGN KEY (projectid) REFERENCES project(id)
ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT issue_file_list_issueid FOREIGN KEY (projectid,issueid) REFERENCES issue(projectid,id)
ON DELETE RESTRICT ON UPDATE CASCADE
);
CREATE TABLE issue_change (
projectid VARCHAR(32) NOT NULL,
id BIGINT NOT NULL,