34 lines
1.1 KiB
SQL
34 lines
1.1 KiB
SQL
-- 006_core_deal.sql — core.deal + core.deal_team_member (Битрикс CAT=16)
|
|
|
|
CREATE TABLE core.deal (
|
|
id bigserial PRIMARY KEY,
|
|
bitrix_id bigint UNIQUE NOT NULL,
|
|
title text,
|
|
category_id int,
|
|
stage_id text,
|
|
stage_semantic_id char(1),
|
|
opportunity decimal(15,2),
|
|
begindate date,
|
|
closedate date,
|
|
assigned_to_id bigint REFERENCES core.employee,
|
|
bitrix_company_id bigint,
|
|
bitrix_company_name text,
|
|
project_manager_id bigint REFERENCES core.employee,
|
|
is_in_forecast boolean DEFAULT false,
|
|
last_synced timestamptz
|
|
);
|
|
|
|
CREATE INDEX idx_deal_stage ON core.deal (stage_id);
|
|
CREATE INDEX idx_deal_forecast ON core.deal (is_in_forecast) WHERE is_in_forecast = true;
|
|
CREATE INDEX idx_deal_category ON core.deal (category_id);
|
|
|
|
CREATE TABLE core.deal_team_member (
|
|
deal_id bigint REFERENCES core.deal ON DELETE CASCADE,
|
|
employee_id bigint REFERENCES core.employee,
|
|
weight decimal(5,2) NOT NULL DEFAULT 1.0,
|
|
is_manual_override boolean DEFAULT false,
|
|
PRIMARY KEY (deal_id, employee_id)
|
|
);
|
|
|
|
CREATE INDEX idx_deal_team_employee ON core.deal_team_member (employee_id);
|