2022-05-16 15:26:20 -07:00
|
|
|
CREATE TABLE IF NOT EXISTS type_entity (
|
2022-05-14 10:57:19 -07:00
|
|
|
id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL,
|
2022-05-16 15:26:20 -07:00
|
|
|
name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'name') STORED NOT NULL,
|
|
|
|
category VARCHAR(256) GENERATED ALWAYS AS (json ->> 'category') STORED NOT NULL,
|
2022-05-14 10:57:19 -07:00
|
|
|
json JSONB NOT NULL,
|
|
|
|
updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL,
|
|
|
|
updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL,
|
|
|
|
PRIMARY KEY (id),
|
2022-05-16 15:26:20 -07:00
|
|
|
UNIQUE (name)
|
2022-05-14 10:57:19 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
ALTER TABLE webhook_entity
|
2022-05-30 15:53:23 +05:30
|
|
|
ADD status VARCHAR(256) GENERATED ALWAYS AS (json ->> 'status') STORED NOT NULL,
|
2022-05-14 10:57:19 -07:00
|
|
|
DROP COLUMN deleted;
|
2022-05-24 16:00:12 -07:00
|
|
|
|
|
|
|
DROP INDEX entity_relationship_edge_index;
|
2022-06-21 14:54:36 +02:00
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS mlmodel_service_entity (
|
|
|
|
id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL,
|
|
|
|
name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'name') STORED NOT NULL,
|
|
|
|
serviceType VARCHAR(256) GENERATED ALWAYS AS (json ->> 'serviceType') STORED NOT NULL,
|
|
|
|
json JSONB NOT NULL,
|
|
|
|
updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL,
|
|
|
|
updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL,
|
|
|
|
deleted BOOLEAN GENERATED ALWAYS AS ((json ->> 'deleted')::boolean) STORED,
|
|
|
|
PRIMARY KEY (id),
|
|
|
|
UNIQUE (name)
|
2022-06-22 16:17:29 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
UPDATE thread_entity
|
|
|
|
SET json = jsonb_set(json, '{type}', '"Conversation"', true);
|
|
|
|
|
2022-06-30 00:38:24 -07:00
|
|
|
update thread_entity
|
|
|
|
SET json = jsonb_set(json, '{reactions}', '[]'::jsonb, true);
|
|
|
|
|
2022-06-22 16:17:29 -07:00
|
|
|
ALTER TABLE thread_entity
|
|
|
|
ADD type VARCHAR(64) GENERATED ALWAYS AS (json ->> 'type') STORED NOT NULL,
|
|
|
|
ADD taskId INT GENERATED ALWAYS AS ((json#>'{task,id}')::integer) STORED,
|
|
|
|
ADD taskStatus VARCHAR(64) GENERATED ALWAYS AS (json#>>'{task,status}') STORED,
|
|
|
|
ADD taskAssignees JSONB GENERATED ALWAYS AS (json#>'{task,assignees}') STORED,
|
|
|
|
ADD CONSTRAINT task_id_constraint UNIQUE(taskId);
|
|
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS thread_entity_type_index ON thread_entity(type);
|
|
|
|
CREATE INDEX IF NOT EXISTS thread_entity_task_assignees_index ON thread_entity(taskAssignees);
|
|
|
|
CREATE INDEX IF NOT EXISTS thread_entity_task_status_index ON thread_entity(taskStatus);
|
|
|
|
CREATE INDEX IF NOT EXISTS thread_entity_created_by_index ON thread_entity(createdBy);
|
|
|
|
CREATE INDEX IF NOT EXISTS thread_entity_updated_at_index ON thread_entity(updatedAt);
|
|
|
|
|
|
|
|
CREATE TABLE task_sequence (id SERIAL PRIMARY KEY, dummy varchar(1));
|
|
|
|
INSERT INTO task_sequence (dummy) VALUES (0) RETURNING id;
|