create table CCM_ATTACHMENTS
(
ATTACHMENT_ID VARCHAR2(50 char) not null,
MESSAGE_ID VARCHAR2(50 char) not null,
CUSTOMER_ID VARCHAR2(50 char) not null,
FILENAME VARCHAR2(255 char),
MIME_TYPE VARCHAR2(255 char),
FILE_SIZE NUMBER,
FILE_DATA BLOB,
CREATION_TIME DATE default CURRENT_TIMESTAMP,
DELETED DATE
);
create table CCM_ATTACHMENTS_TMP
(
ATTACHMENT_ID VARCHAR2(50 char) not null,
MESSAGE_ID VARCHAR2(50 char),
CUSTOMER_ID VARCHAR2(50 char) not null,
FILENAME VARCHAR2(255 char),
MIME_TYPE VARCHAR2(255 char),
FILE_SIZE NUMBER,
FILE_DATA BLOB,
CREATION_TIME DATE default CURRENT_TIMESTAMP,
DELETED DATE
);
create table CCM_CATEGORIES
(
CATEGORY_ID VARCHAR2(20) not null,
CATEGORY_PERMISSION VARCHAR2(20) not null,
CATEGORY_NAME VARCHAR2(50) not null,
CATEGORY_ORDER NUMBER(3)
);
create table CCM_MESSAGES
(
MESSAGE_ID VARCHAR2(50 char) not null,
CUSTOMER_ID VARCHAR2(50 char) not null,
THREAD_ID VARCHAR2(50 char) not null,
SUBJECT VARCHAR2(100 char),
CONTENT VARCHAR2(4000 char) not null,
HELPDESK_USERID VARCHAR2(300 char),
HELPDESK_SENDER_NAME VARCHAR2(300 char),
NOTES VARCHAR2(1000 char),
MESSAGE_STATUS VARCHAR2(20 char),
ALLOW_REPLY NUMBER(1),
SENDER VARCHAR2(50 char),
CREATION_TIME DATE default CURRENT_TIMESTAMP not null,
UNCOMMITTED_CONTENT VARCHAR2(4000 char),
READ_STATUS NUMBER(1) default 0,
MESSAGE_THREAD_HEAD NUMBER(1) default 0,
CUSTOMER_BROWSER VARCHAR2(500 char),
TIME_READ TIMESTAMP(6),
DELETED NUMBER(1) default 0,
DELETED_TIME DATE,
HELPDESK_READ_STATUS NUMBER(1) default 0,
CATEGORY VARCHAR2(20),
OFFER_APPROVED_TIME DATE
);
create table CCM_MESSAGE_THREADS
(
THREAD_ID VARCHAR2(50 char) not null,
CUSTOMER_ID VARCHAR2(50 char) not null,
MESSAGE_ID VARCHAR2(50 char) not null
);
CREATE INDEX "CCM_MESSAGES_STATUS_IDX" ON "CCM_MESSAGES" ("MESSAGE_STATUS") PARALLEL 1;
ALTER INDEX "CCM_MESSAGES_STATUS_IDX" NOPARALLEL;
CREATE INDEX "CCM_MESSAGES_SSA_IDX" ON "CCM_MESSAGES" ("MESSAGE_STATUS", "SENDER") PARALLEL 1;
ALTER INDEX "CCM_MESSAGES_SSA_IDX" NOPARALLEL;
CREATE UNIQUE INDEX "CCM_MESSAGES_MESS_IDX" ON "CCM_MESSAGES" ("MESSAGE_ID", "CREATION_TIME") PARALLEL 1;
ALTER INDEX "CCM_MESSAGES_MESS_IDX" NOPARALLEL;
CREATE INDEX "CREATION_TIME_IDX" ON "CCM_MESSAGES" ("CREATION_TIME") PARALLEL 1;
ALTER INDEX "CREATION_TIME_IDX" NOPARALLEL;
CREATE INDEX "CCM_MESSAGES_USER_KEY_IDX" ON "CCM_MESSAGES" ("CUSTOMER_ID", "SENDER") PARALLEL 1;
ALTER INDEX "CCM_MESSAGES_USER_KEY_IDX" NOPARALLEL;
CREATE INDEX "CCM_MESSAGES_USER_IDX" ON "CCM_MESSAGES" ("CUSTOMER_ID") PARALLEL 1;
ALTER INDEX "CCM_MESSAGES_USER_IDX" NOPARALLEL;
CREATE UNIQUE INDEX "CCM_MESSAGES_PK" ON "CCM_MESSAGES" ("MESSAGE_ID") PARALLEL 1;
ALTER INDEX "CCM_MESSAGES_PK" NOPARALLEL;
CREATE UNIQUE INDEX "CCM_MESSAGE_THREADS_PK" ON "CCM_MESSAGE_THREADS" ("THREAD_ID", "CUSTOMER_ID", "MESSAGE_ID") PARALLEL 1;
ALTER INDEX "CCM_MESSAGE_THREADS_PK" NOPARALLEL;
CREATE UNIQUE INDEX "CCM_ATTACHMENTS_UQ_ID" ON "CCM_ATTACHMENTS" ("ATTACHMENT_ID") PARALLEL 1 ;
ALTER INDEX "CCM_ATTACHMENTS_UQ_ID" NOPARALLEL;
CREATE UNIQUE INDEX "CCM_ATTACHMENTS_TMP_UQ_ID" ON "CCM_ATTACHMENTS_TMP" ("ATTACHMENT_ID") PARALLEL 1 ;
ALTER INDEX "CCM_ATTACHMENTS_TMP_UQ_ID" NOPARALLEL;
ALTER TABLE "CCM_ATTACHMENTS" ADD CONSTRAINT "CCM_ATTACHMENTS_UQ_ID" UNIQUE ("ATTACHMENT_ID")
USING INDEX "CCM_ATTACHMENTS_UQ_ID" ENABLE;
ALTER TABLE "CCM_ATTACHMENTS_TMP" ADD CONSTRAINT "CCM_ATTACHMENTS_TMP_UQ_ID" UNIQUE ("ATTACHMENT_ID")
USING INDEX "CCM_ATTACHMENTS_TMP_UQ_ID" ENABLE;
ALTER TABLE "CCM_CATEGORIES" ADD PRIMARY KEY ("CATEGORY_ID")
USING INDEX ENABLE;
ALTER TABLE "CCM_MESSAGES"
ADD CONSTRAINT "CCM_MESSAGES_PK" PRIMARY KEY ("MESSAGE_ID") USING INDEX "CCM_MESSAGES_PK" ENABLE;
ALTER TABLE "CCM_MESSAGE_THREADS"
ADD CONSTRAINT "CCM_MESSAGE_THREADS_PK" PRIMARY KEY ("THREAD_ID", "CUSTOMER_ID", "MESSAGE_ID") USING INDEX "CCM_MESSAGE_THREADS_PK" ENABLE;