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