1227 lines
32 KiB
SQL
1227 lines
32 KiB
SQL
--
|
|
-- PostgreSQL database dump
|
|
--
|
|
|
|
\restrict kNuninakYWLtRtYcUJzHdw8CZSFPdYi5ZBqLn8ENeY0KU4rYnMaZYuMvko6cgtg
|
|
|
|
-- Dumped from database version 18.6 (Debian 18.6-1.pgdg13+2)
|
|
-- Dumped by pg_dump version 18.6 (Debian 18.6-1.pgdg13+2)
|
|
|
|
SET statement_timeout = 0;
|
|
SET lock_timeout = 0;
|
|
SET idle_in_transaction_session_timeout = 0;
|
|
SET transaction_timeout = 0;
|
|
SET client_encoding = 'UTF8';
|
|
SET standard_conforming_strings = on;
|
|
SELECT pg_catalog.set_config('search_path', '', false);
|
|
SET check_function_bodies = false;
|
|
SET xmloption = content;
|
|
SET client_min_messages = warning;
|
|
SET row_security = off;
|
|
|
|
--
|
|
-- Name: pgcrypto; Type: EXTENSION; Schema: -; Owner: -
|
|
--
|
|
|
|
CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public;
|
|
|
|
|
|
--
|
|
-- Name: EXTENSION pgcrypto; Type: COMMENT; Schema: -; Owner:
|
|
--
|
|
|
|
COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions';
|
|
|
|
|
|
--
|
|
-- Name: qc_answer; Type: TYPE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TYPE public.qc_answer AS ENUM (
|
|
'pass_',
|
|
'fail',
|
|
'na'
|
|
);
|
|
|
|
|
|
ALTER TYPE public.qc_answer OWNER TO pm;
|
|
|
|
--
|
|
-- Name: qc_phase; Type: TYPE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TYPE public.qc_phase AS ENUM (
|
|
'pre',
|
|
'during',
|
|
'after'
|
|
);
|
|
|
|
|
|
ALTER TYPE public.qc_phase OWNER TO pm;
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_table_access_method = heap;
|
|
|
|
--
|
|
-- Name: defects; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.defects (
|
|
id uuid NOT NULL,
|
|
task_id uuid,
|
|
task_op_wp_id integer,
|
|
question_id uuid,
|
|
title character varying(512) NOT NULL,
|
|
description text NOT NULL,
|
|
severity character varying(16) DEFAULT 'medium'::character varying NOT NULL,
|
|
status character varying(16) DEFAULT 'open'::character varying NOT NULL,
|
|
corrective_action text NOT NULL,
|
|
resolution_notes text NOT NULL,
|
|
photo_path character varying(512),
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
resolved_at timestamp with time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE public.defects OWNER TO pm;
|
|
|
|
--
|
|
-- Name: integration_logs; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.integration_logs (
|
|
id uuid NOT NULL,
|
|
ts timestamp with time zone DEFAULT now() NOT NULL,
|
|
level character varying(8) NOT NULL,
|
|
direction character varying(8) NOT NULL,
|
|
message text NOT NULL,
|
|
context json NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.integration_logs OWNER TO pm;
|
|
|
|
--
|
|
-- Name: material_requirements; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.material_requirements (
|
|
id uuid NOT NULL,
|
|
task_id uuid,
|
|
task_op_wp_id integer,
|
|
erp_material_id character varying(64) NOT NULL,
|
|
material_name character varying(255) NOT NULL,
|
|
quantity double precision NOT NULL,
|
|
unit_name character varying(64) NOT NULL,
|
|
unit_id integer,
|
|
source character varying(16) DEFAULT 'manual'::character varying NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.material_requirements OWNER TO pm;
|
|
|
|
--
|
|
-- Name: milestones; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.milestones (
|
|
id uuid NOT NULL,
|
|
project_id uuid NOT NULL,
|
|
title character varying(255) NOT NULL,
|
|
description text DEFAULT ''::text NOT NULL,
|
|
due_date date NOT NULL,
|
|
status character varying(32) DEFAULT 'PENDING'::character varying NOT NULL,
|
|
achieved_at timestamp with time zone,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
updated_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.milestones OWNER TO pm;
|
|
|
|
--
|
|
-- Name: pm_users; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.pm_users (
|
|
id uuid NOT NULL,
|
|
username character varying(64) NOT NULL,
|
|
password_hash character varying(255) NOT NULL,
|
|
display_name character varying(255) NOT NULL,
|
|
role character varying(32) DEFAULT 'project_manager'::character varying NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.pm_users OWNER TO pm;
|
|
|
|
--
|
|
-- Name: COLUMN pm_users.role; Type: COMMENT; Schema: public; Owner: pm
|
|
--
|
|
|
|
COMMENT ON COLUMN public.pm_users.role IS 'project_manager|project_supervisor';
|
|
|
|
|
|
--
|
|
-- Name: project_assignments; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.project_assignments (
|
|
id uuid NOT NULL,
|
|
user_id uuid NOT NULL,
|
|
project_id uuid,
|
|
op_project_id integer,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.project_assignments OWNER TO pm;
|
|
|
|
--
|
|
-- Name: project_members; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.project_members (
|
|
id uuid NOT NULL,
|
|
project_id uuid NOT NULL,
|
|
user_id uuid NOT NULL,
|
|
role character varying(32) NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.project_members OWNER TO pm;
|
|
|
|
--
|
|
-- Name: projects; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.projects (
|
|
id uuid NOT NULL,
|
|
code character varying(64) NOT NULL,
|
|
name character varying(255) NOT NULL,
|
|
description text NOT NULL,
|
|
client character varying(255) NOT NULL,
|
|
location character varying(255) NOT NULL,
|
|
project_manager character varying(255) NOT NULL,
|
|
planned_start date,
|
|
planned_end date,
|
|
actual_start date,
|
|
actual_end date,
|
|
status character varying(32) DEFAULT 'ACTIVE'::character varying NOT NULL,
|
|
progress double precision NOT NULL,
|
|
erp_project_id character varying(64),
|
|
legacy_op_project_id integer,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
updated_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.projects OWNER TO pm;
|
|
|
|
--
|
|
-- Name: projects_cache; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.projects_cache (
|
|
id uuid NOT NULL,
|
|
op_project_id integer NOT NULL,
|
|
name character varying(255) NOT NULL,
|
|
identifier character varying(255) NOT NULL,
|
|
active boolean NOT NULL,
|
|
last_synced_at timestamp with time zone,
|
|
erp_project_id character varying(64)
|
|
);
|
|
|
|
|
|
ALTER TABLE public.projects_cache OWNER TO pm;
|
|
|
|
--
|
|
-- Name: purchase_requests; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.purchase_requests (
|
|
id uuid NOT NULL,
|
|
project_id uuid,
|
|
op_project_id integer,
|
|
task_id uuid,
|
|
task_op_wp_id integer,
|
|
erp_material_id character varying(64) NOT NULL,
|
|
material_name character varying(255) NOT NULL,
|
|
quantity double precision NOT NULL,
|
|
unit_name character varying(64) NOT NULL,
|
|
status character varying(16) DEFAULT 'new'::character varying NOT NULL,
|
|
note character varying(512) NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.purchase_requests OWNER TO pm;
|
|
|
|
--
|
|
-- Name: COLUMN purchase_requests.status; Type: COMMENT; Schema: public; Owner: pm
|
|
--
|
|
|
|
COMMENT ON COLUMN public.purchase_requests.status IS 'new|sent|ordered|received|canceled';
|
|
|
|
|
|
--
|
|
-- Name: qc_questions; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.qc_questions (
|
|
id uuid NOT NULL,
|
|
template_id uuid NOT NULL,
|
|
phase public.qc_phase NOT NULL,
|
|
text character varying(512) NOT NULL,
|
|
sort_order integer NOT NULL,
|
|
required boolean NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.qc_questions OWNER TO pm;
|
|
|
|
--
|
|
-- Name: qc_templates; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.qc_templates (
|
|
id uuid NOT NULL,
|
|
name character varying(255) NOT NULL,
|
|
activity_type character varying(64) NOT NULL,
|
|
description text NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.qc_templates OWNER TO pm;
|
|
|
|
--
|
|
-- Name: reservations; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.reservations (
|
|
id uuid NOT NULL,
|
|
task_id uuid,
|
|
task_op_wp_id integer,
|
|
erp_material_id character varying(64) NOT NULL,
|
|
material_name character varying(255) NOT NULL,
|
|
unit_name character varying(64) NOT NULL,
|
|
quantity double precision NOT NULL,
|
|
status character varying(16) DEFAULT 'active'::character varying NOT NULL,
|
|
note character varying(512) NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.reservations OWNER TO pm;
|
|
|
|
--
|
|
-- Name: COLUMN reservations.status; Type: COMMENT; Schema: public; Owner: pm
|
|
--
|
|
|
|
COMMENT ON COLUMN public.reservations.status IS 'active|consumed|canceled';
|
|
|
|
|
|
--
|
|
-- Name: sync_events; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.sync_events (
|
|
id uuid NOT NULL,
|
|
direction character varying(8) NOT NULL,
|
|
entity character varying(32) NOT NULL,
|
|
op_wp_id integer,
|
|
summary character varying(255) NOT NULL,
|
|
payload json NOT NULL,
|
|
status character varying(16) DEFAULT 'queued'::character varying NOT NULL,
|
|
attempts integer NOT NULL,
|
|
last_error text,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
sent_at timestamp with time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE public.sync_events OWNER TO pm;
|
|
|
|
--
|
|
-- Name: COLUMN sync_events.status; Type: COMMENT; Schema: public; Owner: pm
|
|
--
|
|
|
|
COMMENT ON COLUMN public.sync_events.status IS 'queued|sent|failed|conflicted';
|
|
|
|
|
|
--
|
|
-- Name: sync_state; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.sync_state (
|
|
key character varying(64) NOT NULL,
|
|
value json NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.sync_state OWNER TO pm;
|
|
|
|
--
|
|
-- Name: task_qc_definitions; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.task_qc_definitions (
|
|
id uuid NOT NULL,
|
|
task_id uuid,
|
|
task_op_wp_id integer,
|
|
name character varying(255) NOT NULL,
|
|
source_template_id uuid,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
updated_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.task_qc_definitions OWNER TO pm;
|
|
|
|
--
|
|
-- Name: task_qc_questions; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.task_qc_questions (
|
|
id uuid NOT NULL,
|
|
definition_id uuid NOT NULL,
|
|
phase public.qc_phase NOT NULL,
|
|
text character varying(512) NOT NULL,
|
|
sort_order integer NOT NULL,
|
|
required boolean NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.task_qc_questions OWNER TO pm;
|
|
|
|
--
|
|
-- Name: task_qc_results; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.task_qc_results (
|
|
id uuid NOT NULL,
|
|
question_id uuid NOT NULL,
|
|
answer public.qc_answer NOT NULL,
|
|
comment text NOT NULL,
|
|
evaluated_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
evaluated_by character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.task_qc_results OWNER TO pm;
|
|
|
|
--
|
|
-- Name: task_refs; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.task_refs (
|
|
id uuid NOT NULL,
|
|
op_wp_id integer NOT NULL,
|
|
op_project_id integer NOT NULL,
|
|
subject character varying(512) NOT NULL,
|
|
wp_type character varying(64) NOT NULL,
|
|
status character varying(64) NOT NULL,
|
|
is_closed boolean NOT NULL,
|
|
percentage_done integer NOT NULL,
|
|
start_date date,
|
|
due_date date,
|
|
assignee character varying(255),
|
|
priority character varying(64),
|
|
parent_op_wp_id integer,
|
|
lock_version integer NOT NULL,
|
|
relations json NOT NULL,
|
|
qc_status character varying(32) DEFAULT 'none'::character varying NOT NULL,
|
|
deleted boolean NOT NULL,
|
|
op_updated_at timestamp with time zone,
|
|
last_synced_at timestamp with time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE public.task_refs OWNER TO pm;
|
|
|
|
--
|
|
-- Name: task_relations; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.task_relations (
|
|
id uuid NOT NULL,
|
|
project_id uuid NOT NULL,
|
|
from_task_id uuid NOT NULL,
|
|
to_task_id uuid NOT NULL,
|
|
relation_type character varying(8) DEFAULT 'FS'::character varying NOT NULL,
|
|
lag_days integer DEFAULT 0 NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.task_relations OWNER TO pm;
|
|
|
|
--
|
|
-- Name: tasks; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.tasks (
|
|
id uuid NOT NULL,
|
|
project_id uuid NOT NULL,
|
|
parent_id uuid,
|
|
title character varying(512) NOT NULL,
|
|
description text NOT NULL,
|
|
status character varying(32) DEFAULT 'TODO'::character varying NOT NULL,
|
|
priority character varying(32) DEFAULT 'medium'::character varying NOT NULL,
|
|
assignee_id uuid,
|
|
assignee_name character varying(255),
|
|
planned_start date,
|
|
planned_end date,
|
|
actual_start date,
|
|
actual_end date,
|
|
duration integer DEFAULT 1 NOT NULL,
|
|
progress integer DEFAULT 0 NOT NULL,
|
|
planned_progress integer DEFAULT 0 NOT NULL,
|
|
qc_status character varying(32) DEFAULT 'none'::character varying NOT NULL,
|
|
legacy_op_wp_id integer,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
updated_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
human_resources jsonb DEFAULT '[]'::jsonb,
|
|
materials jsonb DEFAULT '[]'::jsonb
|
|
);
|
|
|
|
|
|
ALTER TABLE public.tasks OWNER TO pm;
|
|
|
|
--
|
|
-- Name: COLUMN tasks.qc_status; Type: COMMENT; Schema: public; Owner: pm
|
|
--
|
|
|
|
COMMENT ON COLUMN public.tasks.qc_status IS 'none|pre_qc_pending|pre_qc_failed|ready|exec_qc_pending|in_progress|qc_failed_rework|final_passed';
|
|
|
|
|
|
--
|
|
-- Name: webhook_deliveries; Type: TABLE; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE TABLE public.webhook_deliveries (
|
|
id uuid NOT NULL,
|
|
delivery_id character varying(255) NOT NULL,
|
|
op_wp_id integer,
|
|
received_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
processed boolean NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE public.webhook_deliveries OWNER TO pm;
|
|
|
|
--
|
|
-- Name: defects defects_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.defects
|
|
ADD CONSTRAINT defects_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: integration_logs integration_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.integration_logs
|
|
ADD CONSTRAINT integration_logs_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: material_requirements material_requirements_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.material_requirements
|
|
ADD CONSTRAINT material_requirements_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: milestones milestones_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.milestones
|
|
ADD CONSTRAINT milestones_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: pm_users pm_users_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.pm_users
|
|
ADD CONSTRAINT pm_users_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: project_assignments project_assignments_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.project_assignments
|
|
ADD CONSTRAINT project_assignments_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: project_members project_members_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.project_members
|
|
ADD CONSTRAINT project_members_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: projects_cache projects_cache_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.projects_cache
|
|
ADD CONSTRAINT projects_cache_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: projects projects_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.projects
|
|
ADD CONSTRAINT projects_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: purchase_requests purchase_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.purchase_requests
|
|
ADD CONSTRAINT purchase_requests_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: qc_questions qc_questions_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.qc_questions
|
|
ADD CONSTRAINT qc_questions_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: qc_templates qc_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.qc_templates
|
|
ADD CONSTRAINT qc_templates_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: reservations reservations_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.reservations
|
|
ADD CONSTRAINT reservations_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: sync_events sync_events_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.sync_events
|
|
ADD CONSTRAINT sync_events_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: sync_state sync_state_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.sync_state
|
|
ADD CONSTRAINT sync_state_pkey PRIMARY KEY (key);
|
|
|
|
|
|
--
|
|
-- Name: task_qc_definitions task_qc_definitions_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_qc_definitions
|
|
ADD CONSTRAINT task_qc_definitions_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: task_qc_questions task_qc_questions_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_qc_questions
|
|
ADD CONSTRAINT task_qc_questions_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: task_qc_results task_qc_results_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_qc_results
|
|
ADD CONSTRAINT task_qc_results_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: task_refs task_refs_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_refs
|
|
ADD CONSTRAINT task_refs_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: task_relations task_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_relations
|
|
ADD CONSTRAINT task_relations_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: tasks tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.tasks
|
|
ADD CONSTRAINT tasks_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: project_members uq_project_member; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.project_members
|
|
ADD CONSTRAINT uq_project_member UNIQUE (project_id, user_id);
|
|
|
|
|
|
--
|
|
-- Name: task_relations uq_task_relations_pair; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_relations
|
|
ADD CONSTRAINT uq_task_relations_pair UNIQUE (from_task_id, to_task_id);
|
|
|
|
|
|
--
|
|
-- Name: webhook_deliveries webhook_deliveries_pkey; Type: CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.webhook_deliveries
|
|
ADD CONSTRAINT webhook_deliveries_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: ix_defects_task; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_defects_task ON public.defects USING btree (task_op_wp_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_defects_task_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_defects_task_id ON public.defects USING btree (task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_material_requirements_erp_material_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_material_requirements_erp_material_id ON public.material_requirements USING btree (erp_material_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_material_requirements_task_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_material_requirements_task_id ON public.material_requirements USING btree (task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_material_requirements_task_op_wp_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_material_requirements_task_op_wp_id ON public.material_requirements USING btree (task_op_wp_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_milestones_project; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_milestones_project ON public.milestones USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_milestones_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_milestones_project_id ON public.milestones USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_pm_users_username; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE UNIQUE INDEX ix_pm_users_username ON public.pm_users USING btree (username);
|
|
|
|
|
|
--
|
|
-- Name: ix_project_assignments_op_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_project_assignments_op_project_id ON public.project_assignments USING btree (op_project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_project_assignments_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_project_assignments_project_id ON public.project_assignments USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_project_assignments_user_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_project_assignments_user_id ON public.project_assignments USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_project_members_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_project_members_project_id ON public.project_members USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_project_members_user_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_project_members_user_id ON public.project_members USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_projects_cache_op_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE UNIQUE INDEX ix_projects_cache_op_project_id ON public.projects_cache USING btree (op_project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_projects_code; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE UNIQUE INDEX ix_projects_code ON public.projects USING btree (code);
|
|
|
|
|
|
--
|
|
-- Name: ix_projects_legacy_op_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_projects_legacy_op_project_id ON public.projects USING btree (legacy_op_project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_projects_name; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_projects_name ON public.projects USING btree (name);
|
|
|
|
|
|
--
|
|
-- Name: ix_projects_status; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_projects_status ON public.projects USING btree (status);
|
|
|
|
|
|
--
|
|
-- Name: ix_purchase_requests_erp_material_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_purchase_requests_erp_material_id ON public.purchase_requests USING btree (erp_material_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_purchase_requests_op_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_purchase_requests_op_project_id ON public.purchase_requests USING btree (op_project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_purchase_requests_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_purchase_requests_project_id ON public.purchase_requests USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_purchase_requests_task_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_purchase_requests_task_id ON public.purchase_requests USING btree (task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_qc_questions_template_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_qc_questions_template_id ON public.qc_questions USING btree (template_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_qc_templates_activity_type; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_qc_templates_activity_type ON public.qc_templates USING btree (activity_type);
|
|
|
|
|
|
--
|
|
-- Name: ix_reservations_erp_material_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_reservations_erp_material_id ON public.reservations USING btree (erp_material_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_reservations_task_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_reservations_task_id ON public.reservations USING btree (task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_reservations_task_op_wp_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_reservations_task_op_wp_id ON public.reservations USING btree (task_op_wp_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_sync_events_op_wp_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_sync_events_op_wp_id ON public.sync_events USING btree (op_wp_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_sync_events_status; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_sync_events_status ON public.sync_events USING btree (status);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_qc_def_task; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_qc_def_task ON public.task_qc_definitions USING btree (task_op_wp_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_qc_definitions_task_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_qc_definitions_task_id ON public.task_qc_definitions USING btree (task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_qc_q_def; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_qc_q_def ON public.task_qc_questions USING btree (definition_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_qc_res_q; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_qc_res_q ON public.task_qc_results USING btree (question_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_refs_op_wp_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE UNIQUE INDEX ix_task_refs_op_wp_id ON public.task_refs USING btree (op_wp_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_refs_project; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_refs_project ON public.task_refs USING btree (op_project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_relations_from; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_relations_from ON public.task_relations USING btree (from_task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_relations_from_task_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_relations_from_task_id ON public.task_relations USING btree (from_task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_relations_project; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_relations_project ON public.task_relations USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_relations_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_relations_project_id ON public.task_relations USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_relations_to; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_relations_to ON public.task_relations USING btree (to_task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_task_relations_to_task_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_task_relations_to_task_id ON public.task_relations USING btree (to_task_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_tasks_legacy_op_wp_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_tasks_legacy_op_wp_id ON public.tasks USING btree (legacy_op_wp_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_tasks_parent; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_tasks_parent ON public.tasks USING btree (parent_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_tasks_parent_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_tasks_parent_id ON public.tasks USING btree (parent_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_tasks_project; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_tasks_project ON public.tasks USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_tasks_project_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_tasks_project_id ON public.tasks USING btree (project_id);
|
|
|
|
|
|
--
|
|
-- Name: ix_tasks_status; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE INDEX ix_tasks_status ON public.tasks USING btree (status);
|
|
|
|
|
|
--
|
|
-- Name: ix_webhook_deliveries_delivery_id; Type: INDEX; Schema: public; Owner: pm
|
|
--
|
|
|
|
CREATE UNIQUE INDEX ix_webhook_deliveries_delivery_id ON public.webhook_deliveries USING btree (delivery_id);
|
|
|
|
|
|
--
|
|
-- Name: defects defects_question_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.defects
|
|
ADD CONSTRAINT defects_question_id_fkey FOREIGN KEY (question_id) REFERENCES public.task_qc_questions(id) ON DELETE SET NULL;
|
|
|
|
|
|
--
|
|
-- Name: defects defects_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.defects
|
|
ADD CONSTRAINT defects_task_id_fkey FOREIGN KEY (task_id) REFERENCES public.tasks(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: material_requirements material_requirements_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.material_requirements
|
|
ADD CONSTRAINT material_requirements_task_id_fkey FOREIGN KEY (task_id) REFERENCES public.tasks(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: milestones milestones_project_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.milestones
|
|
ADD CONSTRAINT milestones_project_id_fkey FOREIGN KEY (project_id) REFERENCES public.projects(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: project_assignments project_assignments_project_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.project_assignments
|
|
ADD CONSTRAINT project_assignments_project_id_fkey FOREIGN KEY (project_id) REFERENCES public.projects(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: project_assignments project_assignments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.project_assignments
|
|
ADD CONSTRAINT project_assignments_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.pm_users(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: project_members project_members_project_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.project_members
|
|
ADD CONSTRAINT project_members_project_id_fkey FOREIGN KEY (project_id) REFERENCES public.projects(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: project_members project_members_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.project_members
|
|
ADD CONSTRAINT project_members_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.pm_users(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: purchase_requests purchase_requests_project_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.purchase_requests
|
|
ADD CONSTRAINT purchase_requests_project_id_fkey FOREIGN KEY (project_id) REFERENCES public.projects(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: purchase_requests purchase_requests_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.purchase_requests
|
|
ADD CONSTRAINT purchase_requests_task_id_fkey FOREIGN KEY (task_id) REFERENCES public.tasks(id) ON DELETE SET NULL;
|
|
|
|
|
|
--
|
|
-- Name: qc_questions qc_questions_template_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.qc_questions
|
|
ADD CONSTRAINT qc_questions_template_id_fkey FOREIGN KEY (template_id) REFERENCES public.qc_templates(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: reservations reservations_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.reservations
|
|
ADD CONSTRAINT reservations_task_id_fkey FOREIGN KEY (task_id) REFERENCES public.tasks(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: task_qc_definitions task_qc_definitions_source_template_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_qc_definitions
|
|
ADD CONSTRAINT task_qc_definitions_source_template_id_fkey FOREIGN KEY (source_template_id) REFERENCES public.qc_templates(id) ON DELETE SET NULL;
|
|
|
|
|
|
--
|
|
-- Name: task_qc_definitions task_qc_definitions_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_qc_definitions
|
|
ADD CONSTRAINT task_qc_definitions_task_id_fkey FOREIGN KEY (task_id) REFERENCES public.tasks(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: task_qc_questions task_qc_questions_definition_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_qc_questions
|
|
ADD CONSTRAINT task_qc_questions_definition_id_fkey FOREIGN KEY (definition_id) REFERENCES public.task_qc_definitions(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: task_qc_results task_qc_results_question_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_qc_results
|
|
ADD CONSTRAINT task_qc_results_question_id_fkey FOREIGN KEY (question_id) REFERENCES public.task_qc_questions(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: task_relations task_relations_from_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_relations
|
|
ADD CONSTRAINT task_relations_from_task_id_fkey FOREIGN KEY (from_task_id) REFERENCES public.tasks(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: task_relations task_relations_project_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_relations
|
|
ADD CONSTRAINT task_relations_project_id_fkey FOREIGN KEY (project_id) REFERENCES public.projects(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: task_relations task_relations_to_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.task_relations
|
|
ADD CONSTRAINT task_relations_to_task_id_fkey FOREIGN KEY (to_task_id) REFERENCES public.tasks(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: tasks tasks_assignee_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.tasks
|
|
ADD CONSTRAINT tasks_assignee_id_fkey FOREIGN KEY (assignee_id) REFERENCES public.pm_users(id) ON DELETE SET NULL;
|
|
|
|
|
|
--
|
|
-- Name: tasks tasks_parent_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.tasks
|
|
ADD CONSTRAINT tasks_parent_id_fkey FOREIGN KEY (parent_id) REFERENCES public.tasks(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: tasks tasks_project_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pm
|
|
--
|
|
|
|
ALTER TABLE ONLY public.tasks
|
|
ADD CONSTRAINT tasks_project_id_fkey FOREIGN KEY (project_id) REFERENCES public.projects(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- PostgreSQL database dump complete
|
|
--
|
|
|
|
\unrestrict kNuninakYWLtRtYcUJzHdw8CZSFPdYi5ZBqLn8ENeY0KU4rYnMaZYuMvko6cgtg
|
|
|