38 lines
1.2 KiB
SQL
38 lines
1.2 KiB
SQL
-- 003_core_project.sql — core.project + core.stage
|
|
|
|
CREATE TABLE core.project (
|
|
id bigserial PRIMARY KEY,
|
|
name text NOT NULL,
|
|
bitra_id text UNIQUE,
|
|
eva_id text UNIQUE,
|
|
bitra_code text,
|
|
eva_code text,
|
|
is_sd boolean DEFAULT false, -- SD-проект (из явного списка)
|
|
status text,
|
|
cache_status_type text, -- из EVA: OPEN/IN_PROGRESS/IN_REVIEW/CLOSED
|
|
project_manager_id bigint REFERENCES core.employee,
|
|
bitrix_company_id bigint,
|
|
bitra_client_id text,
|
|
bitra_client_name text, -- для отображения
|
|
deadline date,
|
|
budget decimal(15,2),
|
|
last_synced timestamptz
|
|
);
|
|
|
|
CREATE INDEX idx_project_bitra ON core.project (bitra_id);
|
|
CREATE INDEX idx_project_eva ON core.project (eva_id);
|
|
CREATE INDEX idx_project_sd ON core.project (is_sd) WHERE is_sd = true;
|
|
|
|
CREATE TABLE core.stage (
|
|
id bigserial PRIMARY KEY,
|
|
name text NOT NULL,
|
|
bitra_id text UNIQUE,
|
|
project_id bigint REFERENCES core.project,
|
|
plan_start_date date,
|
|
plan_end_date date,
|
|
is_completed boolean DEFAULT false,
|
|
is_acted boolean DEFAULT false
|
|
);
|
|
|
|
CREATE INDEX idx_stage_project ON core.stage (project_id);
|