Files

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);