|
@@ -8,23 +8,67 @@ CREATE TABLE company (
|
|
|
company_cnpj VARCHAR(14) NOT NULL UNIQUE,
|
|
company_cnpj VARCHAR(14) NOT NULL UNIQUE,
|
|
|
company_logo TEXT NOT NULL,
|
|
company_logo TEXT NOT NULL,
|
|
|
company_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
company_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- company_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete'
|
|
|
|
|
|
|
+ company_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity'
|
|
|
|
|
+);
|
|
|
|
|
+
|
|
|
|
|
+INSERT INTO company (
|
|
|
|
|
+ company_id,
|
|
|
|
|
+ company_name,
|
|
|
|
|
+ company_cnpj,
|
|
|
|
|
+ company_logo,
|
|
|
|
|
+ company_created_at,
|
|
|
|
|
+ company_deleted_at
|
|
|
|
|
+) VALUES (
|
|
|
|
|
+ 1,
|
|
|
|
|
+ 'cordepimenta',
|
|
|
|
|
+ '00000000000001',
|
|
|
|
|
+ 'https://placeholder.invalid/company/cordepimenta',
|
|
|
|
|
+ NOW(),
|
|
|
|
|
+ 'infinity'
|
|
|
|
|
+);
|
|
|
|
|
+
|
|
|
|
|
+SELECT setval(
|
|
|
|
|
+ pg_get_serial_sequence('company', 'company_id'),
|
|
|
|
|
+ GREATEST((SELECT COALESCE(MAX(company_id), 1) FROM company), 1),
|
|
|
|
|
+ true
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE "user" (
|
|
CREATE TABLE "user" (
|
|
|
user_id SERIAL PRIMARY KEY,
|
|
user_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
user_name VARCHAR(100) NOT NULL,
|
|
user_name VARCHAR(100) NOT NULL,
|
|
|
user_phone VARCHAR(20) NOT NULL,
|
|
user_phone VARCHAR(20) NOT NULL,
|
|
|
user_email VARCHAR(100) NOT NULL UNIQUE,
|
|
user_email VARCHAR(100) NOT NULL UNIQUE,
|
|
|
user_role VARCHAR(10) NOT NULL,
|
|
user_role VARCHAR(10) NOT NULL,
|
|
|
user_password VARCHAR(255) NOT NULL,
|
|
user_password VARCHAR(255) NOT NULL,
|
|
|
user_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
user_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- user_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ user_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_users_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
CONSTRAINT fk_users_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
+INSERT INTO "user" (
|
|
|
|
|
+ company_id,
|
|
|
|
|
+ user_name,
|
|
|
|
|
+ user_phone,
|
|
|
|
|
+ user_email,
|
|
|
|
|
+ user_role,
|
|
|
|
|
+ user_password,
|
|
|
|
|
+ user_created_at,
|
|
|
|
|
+ user_deleted_at
|
|
|
|
|
+) VALUES (
|
|
|
|
|
+ 1,
|
|
|
|
|
+ 'Administrador',
|
|
|
|
|
+ '5500000000000',
|
|
|
|
|
+ 'admin@mixtech.com',
|
|
|
|
|
+ 'admin',
|
|
|
|
|
+ 'admin123',
|
|
|
|
|
+ NOW(),
|
|
|
|
|
+ 'infinity'
|
|
|
|
|
+);
|
|
|
|
|
+
|
|
|
CREATE TABLE operator (
|
|
CREATE TABLE operator (
|
|
|
operator_id SERIAL PRIMARY KEY,
|
|
operator_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
operator_name VARCHAR(100) NOT NULL,
|
|
operator_name VARCHAR(100) NOT NULL,
|
|
|
operator_initials VARCHAR(5) NOT NULL,
|
|
operator_initials VARCHAR(5) NOT NULL,
|
|
|
operator_email VARCHAR(100) NOT NULL,
|
|
operator_email VARCHAR(100) NOT NULL,
|
|
@@ -33,7 +77,7 @@ CREATE TABLE operator (
|
|
|
operator_status VARCHAR(30) NOT NULL DEFAULT 'Disponível',
|
|
operator_status VARCHAR(30) NOT NULL DEFAULT 'Disponível',
|
|
|
operator_available_for_escalation BOOLEAN NOT NULL DEFAULT TRUE,
|
|
operator_available_for_escalation BOOLEAN NOT NULL DEFAULT TRUE,
|
|
|
operator_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
operator_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- operator_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ operator_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_operators_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
CONSTRAINT fk_operators_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -42,34 +86,37 @@ CREATE TABLE operator_channel (
|
|
|
operator_id INT NOT NULL,
|
|
operator_id INT NOT NULL,
|
|
|
operator_channel VARCHAR(20) NOT NULL,
|
|
operator_channel VARCHAR(20) NOT NULL,
|
|
|
operator_channel_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
operator_channel_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- operator_channel_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ operator_channel_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_op_channel_operator FOREIGN KEY (operator_id) REFERENCES operator(operator_id)
|
|
CONSTRAINT fk_op_channel_operator FOREIGN KEY (operator_id) REFERENCES operator(operator_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE sla_config (
|
|
CREATE TABLE sla_config (
|
|
|
sla_config_id SERIAL PRIMARY KEY,
|
|
sla_config_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
sla_config_department VARCHAR(20) NOT NULL,
|
|
sla_config_department VARCHAR(20) NOT NULL,
|
|
|
sla_config_response_hours INT NOT NULL DEFAULT 2,
|
|
sla_config_response_hours INT NOT NULL DEFAULT 2,
|
|
|
sla_config_resolution_hours INT NOT NULL DEFAULT 24,
|
|
sla_config_resolution_hours INT NOT NULL DEFAULT 24,
|
|
|
sla_config_updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
sla_config_updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- sla_config_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ sla_config_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_sla_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_sla_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT uq_sla_dept UNIQUE (company_id, sla_config_department)
|
|
CONSTRAINT uq_sla_dept UNIQUE (company_id, sla_config_department)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE sku (
|
|
CREATE TABLE sku (
|
|
|
sku_id SERIAL PRIMARY KEY,
|
|
sku_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
sku_name VARCHAR(100) NOT NULL,
|
|
sku_name VARCHAR(100) NOT NULL,
|
|
|
sku_value DECIMAL(12,2) NOT NULL,
|
|
sku_value DECIMAL(12,2) NOT NULL,
|
|
|
sku_sold INT NOT NULL DEFAULT 0,
|
|
sku_sold INT NOT NULL DEFAULT 0,
|
|
|
sku_line VARCHAR(50) NOT NULL,
|
|
sku_line VARCHAR(50) NOT NULL,
|
|
|
sku_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
sku_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- sku_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ sku_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_skus_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
CONSTRAINT fk_skus_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE integration (
|
|
CREATE TABLE integration (
|
|
|
- integration_id SERIAL PRIMARY KEY,
|
|
|
|
|
|
|
+ integration_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
integration_provider VARCHAR(30) NOT NULL,
|
|
integration_provider VARCHAR(30) NOT NULL,
|
|
|
integration_account_id TEXT NOT NULL,
|
|
integration_account_id TEXT NOT NULL,
|
|
|
integration_external_account_id TEXT NOT NULL,
|
|
integration_external_account_id TEXT NOT NULL,
|
|
@@ -82,7 +129,7 @@ CREATE TABLE integration (
|
|
|
integration_last_error TEXT NOT NULL,
|
|
integration_last_error TEXT NOT NULL,
|
|
|
integration_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
integration_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
integration_updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
integration_updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- integration_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ integration_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_integrations_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
CONSTRAINT fk_integrations_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -93,6 +140,7 @@ CREATE TABLE integration (
|
|
|
|
|
|
|
|
CREATE TABLE client (
|
|
CREATE TABLE client (
|
|
|
client_id SERIAL PRIMARY KEY,
|
|
client_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
client_provider_id TEXT NOT NULL,
|
|
client_provider_id TEXT NOT NULL,
|
|
|
client_phone VARCHAR(20) NOT NULL,
|
|
client_phone VARCHAR(20) NOT NULL,
|
|
|
client_name VARCHAR(100) NOT NULL,
|
|
client_name VARCHAR(100) NOT NULL,
|
|
@@ -100,13 +148,14 @@ CREATE TABLE client (
|
|
|
client_segment VARCHAR(100) NOT NULL,
|
|
client_segment VARCHAR(100) NOT NULL,
|
|
|
client_is_registered BOOLEAN NOT NULL DEFAULT FALSE,
|
|
client_is_registered BOOLEAN NOT NULL DEFAULT FALSE,
|
|
|
client_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
client_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- client_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ client_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_clients_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_clients_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT uq_client_phone_company UNIQUE (company_id, client_phone)
|
|
CONSTRAINT uq_client_phone_company UNIQUE (company_id, client_phone)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE conversation (
|
|
CREATE TABLE conversation (
|
|
|
conversation_id SERIAL PRIMARY KEY,
|
|
conversation_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
integration_id INT NOT NULL,
|
|
integration_id INT NOT NULL,
|
|
|
operator_id INT NOT NULL,
|
|
operator_id INT NOT NULL,
|
|
|
client_id INT NOT NULL,
|
|
client_id INT NOT NULL,
|
|
@@ -125,7 +174,7 @@ CREATE TABLE conversation (
|
|
|
conversation_ticket_value DECIMAL(12,2) NOT NULL,
|
|
conversation_ticket_value DECIMAL(12,2) NOT NULL,
|
|
|
conversation_conversion_chance INT NOT NULL,
|
|
conversation_conversion_chance INT NOT NULL,
|
|
|
conversation_optimum_window VARCHAR(20) NOT NULL,
|
|
conversation_optimum_window VARCHAR(20) NOT NULL,
|
|
|
- conversation_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ conversation_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_conv_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_conv_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT fk_conv_integration FOREIGN KEY (integration_id) REFERENCES integration(integration_id),
|
|
CONSTRAINT fk_conv_integration FOREIGN KEY (integration_id) REFERENCES integration(integration_id),
|
|
|
CONSTRAINT fk_conv_operator FOREIGN KEY (operator_id) REFERENCES operator(operator_id),
|
|
CONSTRAINT fk_conv_operator FOREIGN KEY (operator_id) REFERENCES operator(operator_id),
|
|
@@ -150,7 +199,7 @@ CREATE TABLE message (
|
|
|
message_is_event BOOLEAN NOT NULL DEFAULT FALSE,
|
|
message_is_event BOOLEAN NOT NULL DEFAULT FALSE,
|
|
|
message_event_type INT NOT NULL,
|
|
message_event_type INT NOT NULL,
|
|
|
message_sent_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
message_sent_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- message_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ message_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_msg_conversation FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id),
|
|
CONSTRAINT fk_msg_conversation FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id),
|
|
|
CONSTRAINT fk_quoted_message FOREIGN KEY (quoted_message_id) REFERENCES message(message_id)
|
|
CONSTRAINT fk_quoted_message FOREIGN KEY (quoted_message_id) REFERENCES message(message_id)
|
|
|
);
|
|
);
|
|
@@ -165,7 +214,7 @@ CREATE TABLE message_attachment (
|
|
|
attachment_file_name VARCHAR(255) NOT NULL,
|
|
attachment_file_name VARCHAR(255) NOT NULL,
|
|
|
attachment_size BIGINT NOT NULL,
|
|
attachment_size BIGINT NOT NULL,
|
|
|
attachment_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
attachment_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- attachment_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ attachment_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_attachment_message FOREIGN KEY (message_id) REFERENCES message(message_id)
|
|
CONSTRAINT fk_attachment_message FOREIGN KEY (message_id) REFERENCES message(message_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -176,7 +225,7 @@ CREATE TABLE message_reaction (
|
|
|
reaction_value VARCHAR(20) NOT NULL,
|
|
reaction_value VARCHAR(20) NOT NULL,
|
|
|
reaction_is_sender BOOLEAN NOT NULL DEFAULT FALSE,
|
|
reaction_is_sender BOOLEAN NOT NULL DEFAULT FALSE,
|
|
|
reaction_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
reaction_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- reaction_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ reaction_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_reaction_message FOREIGN KEY (message_id) REFERENCES message(message_id)
|
|
CONSTRAINT fk_reaction_message FOREIGN KEY (message_id) REFERENCES message(message_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -187,7 +236,7 @@ CREATE TABLE conversation_participant (
|
|
|
participant_name VARCHAR(100) NOT NULL,
|
|
participant_name VARCHAR(100) NOT NULL,
|
|
|
participant_is_admin BOOLEAN NOT NULL DEFAULT FALSE,
|
|
participant_is_admin BOOLEAN NOT NULL DEFAULT FALSE,
|
|
|
participant_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
participant_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- participant_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ participant_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_participant_conversation FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id)
|
|
CONSTRAINT fk_participant_conversation FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -200,7 +249,7 @@ CREATE TABLE webhook_event (
|
|
|
webhook_event_processed BOOLEAN NOT NULL DEFAULT FALSE,
|
|
webhook_event_processed BOOLEAN NOT NULL DEFAULT FALSE,
|
|
|
webhook_event_received_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
webhook_event_received_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
webhook_event_processed_at TIMESTAMP NOT NULL,
|
|
webhook_event_processed_at TIMESTAMP NOT NULL,
|
|
|
- webhook_event_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ webhook_event_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_webhook_integration FOREIGN KEY (integration_id) REFERENCES integration(integration_id)
|
|
CONSTRAINT fk_webhook_integration FOREIGN KEY (integration_id) REFERENCES integration(integration_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -212,32 +261,35 @@ CREATE TABLE webhook_event (
|
|
|
CREATE TABLE conversation_analysis (
|
|
CREATE TABLE conversation_analysis (
|
|
|
analysis_id SERIAL PRIMARY KEY,
|
|
analysis_id SERIAL PRIMARY KEY,
|
|
|
conversation_id INT NOT NULL UNIQUE,
|
|
conversation_id INT NOT NULL UNIQUE,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
|
|
|
|
|
conversation_analysis_sentiment VARCHAR(20) NOT NULL,
|
|
conversation_analysis_sentiment VARCHAR(20) NOT NULL,
|
|
|
conversation_analysis_sentiment_score NUMERIC(3,2) NOT NULL,
|
|
conversation_analysis_sentiment_score NUMERIC(3,2) NOT NULL,
|
|
|
conversation_analysis_aspect VARCHAR(50) NOT NULL,
|
|
conversation_analysis_aspect VARCHAR(50) NOT NULL,
|
|
|
conversation_analysis_sub_aspect VARCHAR(100) NOT NULL,
|
|
conversation_analysis_sub_aspect VARCHAR(100) NOT NULL,
|
|
|
conversation_analysis_analyzed_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
conversation_analysis_analyzed_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- conversation_analysis_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ conversation_analysis_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_analysis_conv FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id),
|
|
CONSTRAINT fk_analysis_conv FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id),
|
|
|
CONSTRAINT fk_analysis_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
CONSTRAINT fk_analysis_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE aspect_feedback (
|
|
CREATE TABLE aspect_feedback (
|
|
|
aspect_feedback_id SERIAL PRIMARY KEY,
|
|
aspect_feedback_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
|
|
|
|
|
conversation_id INT NOT NULL,
|
|
conversation_id INT NOT NULL,
|
|
|
aspect_feedback_aspect VARCHAR(50) NOT NULL,
|
|
aspect_feedback_aspect VARCHAR(50) NOT NULL,
|
|
|
aspect_feedback_sentiment VARCHAR(20) NOT NULL,
|
|
aspect_feedback_sentiment VARCHAR(20) NOT NULL,
|
|
|
aspect_feedback_text TEXT NOT NULL,
|
|
aspect_feedback_text TEXT NOT NULL,
|
|
|
aspect_feedback_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
aspect_feedback_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- aspect_feedback_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ aspect_feedback_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_af_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_af_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT fk_af_conv FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id)
|
|
CONSTRAINT fk_af_conv FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE emotion_snapshot (
|
|
CREATE TABLE emotion_snapshot (
|
|
|
emotion_id SERIAL PRIMARY KEY,
|
|
emotion_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
emotion_snapshot_date DATE NOT NULL,
|
|
emotion_snapshot_date DATE NOT NULL,
|
|
|
emotion_happiness NUMERIC(5,2) NOT NULL DEFAULT 0,
|
|
emotion_happiness NUMERIC(5,2) NOT NULL DEFAULT 0,
|
|
|
emotion_sadness NUMERIC(5,2) NOT NULL DEFAULT 0,
|
|
emotion_sadness NUMERIC(5,2) NOT NULL DEFAULT 0,
|
|
@@ -253,16 +305,18 @@ CREATE TABLE emotion_snapshot (
|
|
|
|
|
|
|
|
CREATE TABLE public_opinion (
|
|
CREATE TABLE public_opinion (
|
|
|
opinion_id SERIAL PRIMARY KEY,
|
|
opinion_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
conversation_id INT NOT NULL,
|
|
conversation_id INT NOT NULL,
|
|
|
opinion_is_positive BOOLEAN NOT NULL,
|
|
opinion_is_positive BOOLEAN NOT NULL,
|
|
|
opinion_classified_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
opinion_classified_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- opinion_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ opinion_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_opinion_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_opinion_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT fk_opinion_conv FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id)
|
|
CONSTRAINT fk_opinion_conv FOREIGN KEY (conversation_id) REFERENCES conversation(conversation_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE alert (
|
|
CREATE TABLE alert (
|
|
|
alert_id SERIAL PRIMARY KEY,
|
|
alert_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
client_id INT NOT NULL,
|
|
client_id INT NOT NULL,
|
|
|
alert_type VARCHAR(20) NOT NULL,
|
|
alert_type VARCHAR(20) NOT NULL,
|
|
|
alert_priority VARCHAR(10) NOT NULL,
|
|
alert_priority VARCHAR(10) NOT NULL,
|
|
@@ -271,18 +325,19 @@ CREATE TABLE alert (
|
|
|
alert_tips TEXT NOT NULL,
|
|
alert_tips TEXT NOT NULL,
|
|
|
alert_is_resolved BOOLEAN NOT NULL DEFAULT FALSE,
|
|
alert_is_resolved BOOLEAN NOT NULL DEFAULT FALSE,
|
|
|
alert_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
alert_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- alert_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ alert_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_alert_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_alert_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT fk_alert_client FOREIGN KEY (client_id) REFERENCES client(client_id)
|
|
CONSTRAINT fk_alert_client FOREIGN KEY (client_id) REFERENCES client(client_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE ai_action (
|
|
CREATE TABLE ai_action (
|
|
|
ai_action_id SERIAL PRIMARY KEY,
|
|
ai_action_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
ai_action_idea TEXT NOT NULL,
|
|
ai_action_idea TEXT NOT NULL,
|
|
|
ai_action_is_accepted BOOLEAN NOT NULL,
|
|
ai_action_is_accepted BOOLEAN NOT NULL,
|
|
|
ai_action_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
ai_action_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
ai_action_responded_at TIMESTAMP NOT NULL,
|
|
ai_action_responded_at TIMESTAMP NOT NULL,
|
|
|
- ai_action_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ ai_action_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_ai_action_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
CONSTRAINT fk_ai_action_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -293,6 +348,7 @@ CREATE TABLE ai_action (
|
|
|
|
|
|
|
|
CREATE TABLE persona (
|
|
CREATE TABLE persona (
|
|
|
persona_id SERIAL PRIMARY KEY,
|
|
persona_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
persona_name VARCHAR(100) NOT NULL,
|
|
persona_name VARCHAR(100) NOT NULL,
|
|
|
persona_type VARCHAR(50) NOT NULL DEFAULT 'O PERFIL',
|
|
persona_type VARCHAR(50) NOT NULL DEFAULT 'O PERFIL',
|
|
|
persona_description TEXT NOT NULL,
|
|
persona_description TEXT NOT NULL,
|
|
@@ -303,7 +359,7 @@ CREATE TABLE persona (
|
|
|
persona_expansion_strategy TEXT NOT NULL,
|
|
persona_expansion_strategy TEXT NOT NULL,
|
|
|
persona_engagement_strategy TEXT NOT NULL,
|
|
persona_engagement_strategy TEXT NOT NULL,
|
|
|
persona_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
persona_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- persona_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ persona_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_personas_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
CONSTRAINT fk_personas_company FOREIGN KEY (company_id) REFERENCES company(company_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -312,18 +368,19 @@ CREATE TABLE client_persona (
|
|
|
client_id INT NOT NULL,
|
|
client_id INT NOT NULL,
|
|
|
persona_id INT NOT NULL,
|
|
persona_id INT NOT NULL,
|
|
|
client_persona_assigned_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
client_persona_assigned_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- client_persona_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ client_persona_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_cp_client FOREIGN KEY (client_id) REFERENCES client(client_id),
|
|
CONSTRAINT fk_cp_client FOREIGN KEY (client_id) REFERENCES client(client_id),
|
|
|
CONSTRAINT fk_cp_persona FOREIGN KEY (persona_id) REFERENCES persona(persona_id)
|
|
CONSTRAINT fk_cp_persona FOREIGN KEY (persona_id) REFERENCES persona(persona_id)
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE best_action (
|
|
CREATE TABLE best_action (
|
|
|
best_action_id SERIAL PRIMARY KEY,
|
|
best_action_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
persona_id INT NOT NULL,
|
|
persona_id INT NOT NULL,
|
|
|
best_action_type VARCHAR(20) NOT NULL,
|
|
best_action_type VARCHAR(20) NOT NULL,
|
|
|
best_action_idea TEXT NOT NULL,
|
|
best_action_idea TEXT NOT NULL,
|
|
|
best_action_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
best_action_created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
|
- best_action_deleted_at TIMESTAMP NOT NULL DEFAULT 'delete',
|
|
|
|
|
|
|
+ best_action_deleted_at TIMESTAMP NOT NULL DEFAULT 'infinity',
|
|
|
CONSTRAINT fk_ba_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_ba_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT fk_ba_persona FOREIGN KEY (persona_id) REFERENCES persona(persona_id)
|
|
CONSTRAINT fk_ba_persona FOREIGN KEY (persona_id) REFERENCES persona(persona_id)
|
|
|
);
|
|
);
|
|
@@ -335,6 +392,7 @@ CREATE TABLE best_action (
|
|
|
|
|
|
|
|
CREATE TABLE volume_snapshot (
|
|
CREATE TABLE volume_snapshot (
|
|
|
volume_id SERIAL PRIMARY KEY,
|
|
volume_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
volume_snapshot_date DATE NOT NULL,
|
|
volume_snapshot_date DATE NOT NULL,
|
|
|
volume_channel VARCHAR(20) NOT NULL,
|
|
volume_channel VARCHAR(20) NOT NULL,
|
|
|
volume_message_count INT NOT NULL DEFAULT 0,
|
|
volume_message_count INT NOT NULL DEFAULT 0,
|
|
@@ -345,6 +403,7 @@ CREATE TABLE volume_snapshot (
|
|
|
|
|
|
|
|
CREATE TABLE sentiment_evolution (
|
|
CREATE TABLE sentiment_evolution (
|
|
|
evolution_id SERIAL PRIMARY KEY,
|
|
evolution_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
evolution_snapshot_date DATE NOT NULL,
|
|
evolution_snapshot_date DATE NOT NULL,
|
|
|
evolution_sentiment_score NUMERIC(3,2) NOT NULL,
|
|
evolution_sentiment_score NUMERIC(3,2) NOT NULL,
|
|
|
CONSTRAINT fk_evo_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_evo_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
@@ -353,6 +412,7 @@ CREATE TABLE sentiment_evolution (
|
|
|
|
|
|
|
|
CREATE TABLE playbooks_monitor (
|
|
CREATE TABLE playbooks_monitor (
|
|
|
playbook_id SERIAL PRIMARY KEY,
|
|
playbook_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
playbook_snapshot_date DATE NOT NULL,
|
|
playbook_snapshot_date DATE NOT NULL,
|
|
|
playbook_new_detected INT NOT NULL DEFAULT 0,
|
|
playbook_new_detected INT NOT NULL DEFAULT 0,
|
|
|
playbook_converted INT NOT NULL DEFAULT 0,
|
|
playbook_converted INT NOT NULL DEFAULT 0,
|
|
@@ -363,6 +423,7 @@ CREATE TABLE playbooks_monitor (
|
|
|
|
|
|
|
|
CREATE TABLE operator_daily_stats (
|
|
CREATE TABLE operator_daily_stats (
|
|
|
stat_id SERIAL PRIMARY KEY,
|
|
stat_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
operator_id INT NOT NULL,
|
|
operator_id INT NOT NULL,
|
|
|
operator_stat_date DATE NOT NULL,
|
|
operator_stat_date DATE NOT NULL,
|
|
|
operator_attendances_count INT NOT NULL DEFAULT 0,
|
|
operator_attendances_count INT NOT NULL DEFAULT 0,
|
|
@@ -376,6 +437,7 @@ CREATE TABLE operator_daily_stats (
|
|
|
|
|
|
|
|
CREATE TABLE kpi_snapshot (
|
|
CREATE TABLE kpi_snapshot (
|
|
|
kpi_id SERIAL PRIMARY KEY,
|
|
kpi_id SERIAL PRIMARY KEY,
|
|
|
|
|
+ company_id INT NOT NULL,
|
|
|
kpi_snapshot_date DATE NOT NULL,
|
|
kpi_snapshot_date DATE NOT NULL,
|
|
|
kpi_current_sales DECIMAL(12,2) NOT NULL DEFAULT 0,
|
|
kpi_current_sales DECIMAL(12,2) NOT NULL DEFAULT 0,
|
|
|
kpi_avg_ticket DECIMAL(12,2) NOT NULL DEFAULT 0,
|
|
kpi_avg_ticket DECIMAL(12,2) NOT NULL DEFAULT 0,
|
|
@@ -393,4 +455,4 @@ CREATE TABLE kpi_snapshot (
|
|
|
kpi_general_emotion VARCHAR(20) NOT NULL,
|
|
kpi_general_emotion VARCHAR(20) NOT NULL,
|
|
|
CONSTRAINT fk_kpi_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
CONSTRAINT fk_kpi_company FOREIGN KEY (company_id) REFERENCES company(company_id),
|
|
|
CONSTRAINT uq_kpi_date UNIQUE (company_id, kpi_snapshot_date)
|
|
CONSTRAINT uq_kpi_date UNIQUE (company_id, kpi_snapshot_date)
|
|
|
-);
|
|
|
|
|
|
|
+);
|