-- -- PostgreSQL database dump -- \restrict hWIbt8S7VEXx5dxoALHYDOlkQT2wsIvUzJNjUOU16wDDdv5MbAJwm0aG2VBVfkR -- Dumped from database version 15.14 -- Dumped by pg_dump version 15.14 SET statement_timeout = 0; SET lock_timeout = 0; SET idle_in_transaction_session_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: client_status_enum; Type: TYPE; Schema: public; Owner: servicemanager -- CREATE TYPE public.client_status_enum AS ENUM ( 'prospect', 'active', 'suspended', 'cancelled' ); ALTER TYPE public.client_status_enum OWNER TO servicemanager; -- -- Name: ticket_priority_enum; Type: TYPE; Schema: public; Owner: servicemanager -- CREATE TYPE public.ticket_priority_enum AS ENUM ( 'LOW', 'MEDIUM', 'HIGH', 'URGENT' ); ALTER TYPE public.ticket_priority_enum OWNER TO servicemanager; -- -- Name: ticket_status_enum; Type: TYPE; Schema: public; Owner: servicemanager -- CREATE TYPE public.ticket_status_enum AS ENUM ( 'NEW', 'TRIAGE', 'IN_PROGRESS', 'WAITING_CUSTOMER', 'RESOLVED', 'CLOSED', 'REOPENED' ); ALTER TYPE public.ticket_status_enum OWNER TO servicemanager; -- -- Name: user_role_enum; Type: TYPE; Schema: public; Owner: servicemanager -- CREATE TYPE public.user_role_enum AS ENUM ( 'ADMIN', 'SUPPORT_MANAGER', 'AGENT', 'AUDITOR', 'CLIENT_ADMIN', 'CLIENT_USER' ); ALTER TYPE public.user_role_enum OWNER TO servicemanager; -- -- Name: userrole; Type: TYPE; Schema: public; Owner: servicemanager -- CREATE TYPE public.userrole AS ENUM ( 'ADMIN', 'SUPPORT_MANAGER', 'AGENT', 'AUDITOR', 'CLIENT_ADMIN', 'CLIENT_USER' ); ALTER TYPE public.userrole OWNER TO servicemanager; -- -- Name: update_updated_at_column(); Type: FUNCTION; Schema: public; Owner: servicemanager -- CREATE FUNCTION public.update_updated_at_column() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN NEW.updated_at = NOW(); RETURN NEW; END; $$; ALTER FUNCTION public.update_updated_at_column() OWNER TO servicemanager; SET default_tablespace = ''; SET default_table_access_method = heap; -- -- Name: affected_systems; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.affected_systems ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid NOT NULL, name character varying(100) NOT NULL, description text, is_active boolean DEFAULT true, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.affected_systems OWNER TO servicemanager; -- -- Name: audit_logs; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.audit_logs ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid NOT NULL, user_id uuid, action character varying(100) NOT NULL, resource_type character varying(50) NOT NULL, resource_id uuid, ip_address inet, user_agent text, correlation_id uuid, old_values jsonb, new_values jsonb, metadata jsonb, created_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.audit_logs OWNER TO servicemanager; -- -- Name: TABLE audit_logs; Type: COMMENT; Schema: public; Owner: servicemanager -- COMMENT ON TABLE public.audit_logs IS 'Bit├ícora de acciones para auditor├¡a y compliance'; -- -- Name: categories; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.categories ( name character varying(100) NOT NULL, description text, is_active boolean NOT NULL, tenant_id uuid, id uuid NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL ); ALTER TABLE public.categories OWNER TO servicemanager; -- -- Name: clients; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.clients ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid NOT NULL, code character varying(50), name character varying(200) NOT NULL, tax_id character varying(20), client_type character varying(50), account_manager character varying(100), address_street text, address_ext_num character varying(20), neighborhood character varying(100), zip_code character varying(10), city character varying(100), state character varying(100), country character varying(100) DEFAULT 'Mexico'::character varying, phone_primary character varying(20), phone_secondary character varying(20), fax character varying(20), email character varying(320), website character varying(255), status public.client_status_enum DEFAULT 'prospect'::public.client_status_enum, logo_url character varying(500), properties jsonb DEFAULT '{}'::jsonb, is_active boolean DEFAULT true, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.clients OWNER TO servicemanager; -- -- Name: email_templates; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.email_templates ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid, name character varying(100) NOT NULL, subject_template text NOT NULL, body_template text NOT NULL, template_type character varying(50) NOT NULL, available_variables jsonb, is_active boolean DEFAULT true, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.email_templates OWNER TO servicemanager; -- -- Name: notification_logs; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.notification_logs ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid NOT NULL, recipient_email character varying(320) NOT NULL, subject character varying(500) NOT NULL, template_type character varying(50), ticket_id uuid, user_id uuid, status character varying(20) DEFAULT 'pending'::character varying, error_message text, provider character varying(50), external_id character varying(255), sent_at timestamp with time zone, created_at timestamp with time zone DEFAULT now(), CONSTRAINT notification_logs_status_check CHECK (((status)::text = ANY ((ARRAY['pending'::character varying, 'sent'::character varying, 'failed'::character varying, 'bounced'::character varying])::text[]))) ); ALTER TABLE public.notification_logs OWNER TO servicemanager; -- -- Name: refresh_tokens; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.refresh_tokens ( id uuid DEFAULT gen_random_uuid() NOT NULL, user_id uuid NOT NULL, token_hash character varying(255) NOT NULL, device_info character varying(500), ip_address inet, expires_at timestamp with time zone NOT NULL, revoked boolean DEFAULT false, created_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.refresh_tokens OWNER TO servicemanager; -- -- Name: systems; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.systems ( name character varying(100) NOT NULL, description text, is_active boolean NOT NULL, id uuid NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL ); ALTER TABLE public.systems OWNER TO servicemanager; -- -- Name: tenants; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.tenants ( id uuid DEFAULT gen_random_uuid() NOT NULL, name character varying(255) NOT NULL, slug character varying(100) NOT NULL, domain character varying(255), logo_url character varying(500), contact_email character varying(320), contact_phone character varying(20), address text, timezone character varying(50) DEFAULT 'UTC'::character varying, locale character varying(10) DEFAULT 'es-ES'::character varying, max_users integer DEFAULT 50, max_storage_mb integer DEFAULT 1024, allowed_file_types text[] DEFAULT ARRAY['pdf'::text, 'jpg'::text, 'jpeg'::text, 'png'::text, 'doc'::text, 'docx'::text, 'xls'::text, 'xlsx'::text, 'txt'::text], status character varying(20) DEFAULT 'active'::character varying, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now(), CONSTRAINT tenants_slug_format CHECK (((slug)::text ~ '^[a-z0-9-]+$'::text)), CONSTRAINT tenants_status_check CHECK (((status)::text = ANY ((ARRAY['active'::character varying, 'suspended'::character varying, 'inactive'::character varying])::text[]))) ); ALTER TABLE public.tenants OWNER TO servicemanager; -- -- Name: TABLE tenants; Type: COMMENT; Schema: public; Owner: servicemanager -- COMMENT ON TABLE public.tenants IS 'Organizaciones cliente en el sistema multi-tenant'; -- -- Name: ticket_attachments; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.ticket_attachments ( id uuid DEFAULT gen_random_uuid() NOT NULL, ticket_id uuid NOT NULL, comment_id uuid, uploaded_by uuid NOT NULL, filename character varying(255) NOT NULL, original_filename character varying(255) NOT NULL, mime_type character varying(100) NOT NULL, file_size integer NOT NULL, file_path character varying(500) NOT NULL, md5_hash character varying(32), sha256_hash character varying(64), created_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.ticket_attachments OWNER TO servicemanager; -- -- Name: TABLE ticket_attachments; Type: COMMENT; Schema: public; Owner: servicemanager -- COMMENT ON TABLE public.ticket_attachments IS 'Archivos adjuntos en tickets'; -- -- Name: ticket_categories; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.ticket_categories ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid NOT NULL, name character varying(100) NOT NULL, description text, color character varying(7), sla_response_hours integer DEFAULT 24, sla_resolution_hours integer DEFAULT 72, auto_assign_to uuid, is_active boolean DEFAULT true, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.ticket_categories OWNER TO servicemanager; -- -- Name: ticket_comments; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.ticket_comments ( id uuid DEFAULT gen_random_uuid() NOT NULL, ticket_id uuid NOT NULL, author_id uuid NOT NULL, content text NOT NULL, is_internal boolean DEFAULT false, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.ticket_comments OWNER TO servicemanager; -- -- Name: TABLE ticket_comments; Type: COMMENT; Schema: public; Owner: servicemanager -- COMMENT ON TABLE public.ticket_comments IS 'Comentarios en tickets'; -- -- Name: ticket_status_history; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.ticket_status_history ( id uuid DEFAULT gen_random_uuid() NOT NULL, ticket_id uuid NOT NULL, changed_by uuid NOT NULL, old_status public.ticket_status_enum, new_status public.ticket_status_enum NOT NULL, old_assigned_to uuid, new_assigned_to uuid, comment text, created_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.ticket_status_history OWNER TO servicemanager; -- -- Name: tickets; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.tickets ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid NOT NULL, ticket_number character varying(20) NOT NULL, subject character varying(255) NOT NULL, description text NOT NULL, category_id uuid, priority public.ticket_priority_enum DEFAULT 'MEDIUM'::public.ticket_priority_enum, affected_system_id uuid, created_by uuid NOT NULL, assigned_to uuid, status public.ticket_status_enum DEFAULT 'NEW'::public.ticket_status_enum, sla_response_due timestamp with time zone, sla_resolution_due timestamp with time zone, first_response_at timestamp with time zone, resolved_at timestamp with time zone, rating integer, rating_comment text, rated_at timestamp with time zone, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now(), CONSTRAINT tickets_rating_check CHECK (((rating >= 1) AND (rating <= 5))) ); ALTER TABLE public.tickets OWNER TO servicemanager; -- -- Name: TABLE tickets; Type: COMMENT; Schema: public; Owner: servicemanager -- COMMENT ON TABLE public.tickets IS 'Tickets de soporte - core del negocio'; -- -- Name: users; Type: TABLE; Schema: public; Owner: servicemanager -- CREATE TABLE public.users ( id uuid DEFAULT gen_random_uuid() NOT NULL, tenant_id uuid NOT NULL, email character varying(320) NOT NULL, first_name character varying(100) NOT NULL, last_name character varying(100) NOT NULL, avatar_url character varying(500), password_hash character varying(255) NOT NULL, role public.user_role_enum NOT NULL, totp_secret character varying(32), totp_enabled boolean DEFAULT false, backup_codes text[], is_active boolean DEFAULT true, email_verified boolean DEFAULT false, last_login timestamp with time zone, last_activity timestamp with time zone, language character varying(10) DEFAULT 'es'::character varying, timezone character varying(50) DEFAULT 'UTC'::character varying, notifications_email boolean DEFAULT true, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); ALTER TABLE public.users OWNER TO servicemanager; -- -- Name: TABLE users; Type: COMMENT; Schema: public; Owner: servicemanager -- COMMENT ON TABLE public.users IS 'Usuarios del sistema (internos y clientes)'; -- -- Data for Name: affected_systems; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.affected_systems (id, tenant_id, name, description, is_active, created_at, updated_at) FROM stdin; 861c8fbe-87cc-48be-9de9-98cb3eaa3f2d c186c814-4f5a-4293-aae9-46f57637bb35 Plataforma Web Sistema web principal t 2026-01-29 17:19:28.708075+00 2026-02-03 16:30:41.655951+00 88177239-8592-4fed-bcfb-08bec16b90c9 c186c814-4f5a-4293-aae9-46f57637bb35 API Servicios de API t 2026-01-29 17:19:28.708075+00 2026-02-03 16:30:41.655951+00 eea3504a-223e-4975-a455-d7eac96627d6 c186c814-4f5a-4293-aae9-46f57637bb35 Base de Datos Sistemas de almacenamiento t 2026-01-29 17:19:28.708075+00 2026-02-03 16:30:41.655951+00 \. -- -- Data for Name: audit_logs; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.audit_logs (id, tenant_id, user_id, action, resource_type, resource_id, ip_address, user_agent, correlation_id, old_values, new_values, metadata, created_at) FROM stdin; \. -- -- Data for Name: categories; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.categories (name, description, is_active, tenant_id, id, created_at, updated_at) FROM stdin; \. -- -- Data for Name: clients; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.clients (id, tenant_id, code, name, tax_id, client_type, account_manager, address_street, address_ext_num, neighborhood, zip_code, city, state, country, phone_primary, phone_secondary, fax, email, website, status, logo_url, properties, is_active, created_at, updated_at) FROM stdin; \. -- -- Data for Name: email_templates; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.email_templates (id, tenant_id, name, subject_template, body_template, template_type, available_variables, is_active, created_at, updated_at) FROM stdin; 30f849b1-8e11-47bd-9f7b-053512eb9731 \N Ticket Creado Nuevo ticket #{{ticket_number}}: {{subject}} Hola {{user_name}},\\n\\nSe ha creado un nuevo ticket:\\n\\nN├║mero: #{{ticket_number}}\\nAsunto: {{subject}}\\nPrioridad: {{priority}}\\n\\nPuedes ver los detalles en: {{ticket_url}}\\n\\nSaludos,\\nEquipo de Soporte ticket_created {"subject": "string", "priority": "string", "user_name": "string", "ticket_url": "string", "ticket_number": "string"} t 2026-01-29 17:19:28.725049+00 2026-01-29 17:19:28.725049+00 7c5f3e73-74f6-4bb8-9183-974c211b9e06 \N Ticket Asignado Ticket #{{ticket_number}} asignado a ti Hola {{agent_name}},\\n\\nSe te ha asignado el ticket:\\n\\nN├║mero: #{{ticket_number}}\\nAsunto: {{subject}}\\nCliente: {{customer_name}}\\nPrioridad: {{priority}}\\n\\nPuedes verlo en: {{ticket_url}}\\n\\nSaludos,\\nSistema de Tickets ticket_assigned {"subject": "string", "priority": "string", "agent_name": "string", "ticket_url": "string", "customer_name": "string", "ticket_number": "string"} t 2026-01-29 17:19:28.725049+00 2026-01-29 17:19:28.725049+00 \. -- -- Data for Name: notification_logs; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.notification_logs (id, tenant_id, recipient_email, subject, template_type, ticket_id, user_id, status, error_message, provider, external_id, sent_at, created_at) FROM stdin; \. -- -- Data for Name: refresh_tokens; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.refresh_tokens (id, user_id, token_hash, device_info, ip_address, expires_at, revoked, created_at) FROM stdin; \. -- -- Data for Name: systems; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.systems (name, description, is_active, id, created_at, updated_at) FROM stdin; \. -- -- Data for Name: tenants; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.tenants (id, name, slug, domain, logo_url, contact_email, contact_phone, address, timezone, locale, max_users, max_storage_mb, allowed_file_types, status, created_at, updated_at) FROM stdin; c186c814-4f5a-4293-aae9-46f57637bb35 Aduanasoft Demo aduanasoft-demo \N \N demo@aduanasoft.com \N \N UTC es-ES 50 1024 {pdf,jpg,jpeg,png,doc,docx,xls,xlsx,txt} active 2026-01-29 17:19:28.565118+00 2026-01-29 17:19:28.565118+00 ae3db1fb-8e9c-4800-9be2-a62dbe010b38 Test Tenant test-tenant \N \N \N \N \N UTC es-ES 50 1024 {pdf,jpg,jpeg,png,doc,docx,xls,xlsx,txt} active 2026-01-29 17:24:10.652286+00 2026-01-29 17:24:10.652286+00 \. -- -- Data for Name: ticket_attachments; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.ticket_attachments (id, ticket_id, comment_id, uploaded_by, filename, original_filename, mime_type, file_size, file_path, md5_hash, sha256_hash, created_at) FROM stdin; \. -- -- Data for Name: ticket_categories; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.ticket_categories (id, tenant_id, name, description, color, sla_response_hours, sla_resolution_hours, auto_assign_to, is_active, created_at, updated_at) FROM stdin; 52b9ab83-8b5c-4b4b-8736-57b0486cf7c4 c186c814-4f5a-4293-aae9-46f57637bb35 Soporte T├®cnico Problemas t├®cnicos generales \N 2 24 \N t 2026-01-29 17:19:28.674153+00 2026-02-03 16:30:32.97091+00 8d13e0d3-ba71-408b-9d41-da02ae478d30 c186c814-4f5a-4293-aae9-46f57637bb35 Consulta Comercial Preguntas sobre productos y servicios \N 4 48 \N t 2026-01-29 17:19:28.674153+00 2026-02-03 16:30:32.97091+00 94e4ca22-66b6-415a-8201-70f6a5eaad1f c186c814-4f5a-4293-aae9-46f57637bb35 Incidente Cr├¡tico Problemas que afectan operaciones \N 1 8 \N t 2026-01-29 17:19:28.674153+00 2026-02-03 16:30:32.97091+00 \. -- -- Data for Name: ticket_comments; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.ticket_comments (id, ticket_id, author_id, content, is_internal, created_at, updated_at) FROM stdin; \. -- -- Data for Name: ticket_status_history; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.ticket_status_history (id, ticket_id, changed_by, old_status, new_status, old_assigned_to, new_assigned_to, comment, created_at) FROM stdin; \. -- -- Data for Name: tickets; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.tickets (id, tenant_id, ticket_number, subject, description, category_id, priority, affected_system_id, created_by, assigned_to, status, sla_response_due, sla_resolution_due, first_response_at, resolved_at, rating, rating_comment, rated_at, created_at, updated_at) FROM stdin; 17568861-c8d2-4f4b-8c88-d628b8e23e87 c186c814-4f5a-4293-aae9-46f57637bb35 TICKET001 Test Ticket This is a test ticket. \N MEDIUM \N 2918885d-f313-4b7d-81e4-9e529c4e98f4 \N NEW \N \N \N \N \N \N \N 2026-01-29 17:26:53.75029+00 2026-01-29 17:26:53.75029+00 482dd66d-ad28-4d13-8895-b9d210a7e7e5 c186c814-4f5a-4293-aae9-46f57637bb35 TK-000002 Prueba de ticket desde API Este es un ticket de prueba para verificar que todo funciona correctamente 52b9ab83-8b5c-4b4b-8736-57b0486cf7c4 HIGH 861c8fbe-87cc-48be-9de9-98cb3eaa3f2d 2918885d-f313-4b7d-81e4-9e529c4e98f4 \N NEW \N \N \N \N \N \N \N 2026-02-03 16:35:07.205854+00 2026-02-03 16:35:07.205856+00 6b33cd19-bf09-4894-a000-f4489d1e1880 c186c814-4f5a-4293-aae9-46f57637bb35 TK-000003 dfgghfghff fgffffffffffffffffffff 8d13e0d3-ba71-408b-9d41-da02ae478d30 LOW \N 2918885d-f313-4b7d-81e4-9e529c4e98f4 \N NEW \N \N \N \N \N \N \N 2026-02-03 16:58:28.16841+00 2026-02-03 16:58:28.168412+00 \. -- -- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: servicemanager -- COPY public.users (id, tenant_id, email, first_name, last_name, avatar_url, password_hash, role, totp_secret, totp_enabled, backup_codes, is_active, email_verified, last_login, last_activity, language, timezone, notifications_email, created_at, updated_at) FROM stdin; 0b45bece-5904-4b58-b360-46097f746751 c186c814-4f5a-4293-aae9-46f57637bb35 test_user@example.com Test User \N hashed_password CLIENT_USER \N f \N t f \N \N es UTC t 2026-01-29 17:26:27.81131+00 2026-01-29 17:26:27.81131+00 2918885d-f313-4b7d-81e4-9e529c4e98f4 c186c814-4f5a-4293-aae9-46f57637bb35 admin@aduanasoft.com Admin Sistema \N $argon2id$v=19$m=65536,t=3,p=4$gfDemxPivJfS+j9HaK117g$kIlSO4E3Dmq1OqZUC/ubjN8COhgDi0Sn207prJ5ZhDs ADMIN \N f \N t t \N \N es UTC t 2026-01-29 17:19:28.628748+00 2026-02-03 16:22:30.20689+00 \. -- -- Name: affected_systems affected_systems_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.affected_systems ADD CONSTRAINT affected_systems_pkey PRIMARY KEY (id); -- -- Name: affected_systems affected_systems_tenant_id_name_key; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.affected_systems ADD CONSTRAINT affected_systems_tenant_id_name_key UNIQUE (tenant_id, name); -- -- Name: audit_logs audit_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT audit_logs_pkey PRIMARY KEY (id); -- -- Name: categories categories_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.categories ADD CONSTRAINT categories_pkey PRIMARY KEY (id); -- -- Name: clients clients_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.clients ADD CONSTRAINT clients_pkey PRIMARY KEY (id); -- -- Name: clients clients_tenant_id_code_key; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.clients ADD CONSTRAINT clients_tenant_id_code_key UNIQUE (tenant_id, code); -- -- Name: clients clients_tenant_id_tax_id_key; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.clients ADD CONSTRAINT clients_tenant_id_tax_id_key UNIQUE (tenant_id, tax_id); -- -- Name: email_templates email_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.email_templates ADD CONSTRAINT email_templates_pkey PRIMARY KEY (id); -- -- Name: notification_logs notification_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.notification_logs ADD CONSTRAINT notification_logs_pkey PRIMARY KEY (id); -- -- Name: refresh_tokens refresh_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.refresh_tokens ADD CONSTRAINT refresh_tokens_pkey PRIMARY KEY (id); -- -- Name: systems systems_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.systems ADD CONSTRAINT systems_pkey PRIMARY KEY (id); -- -- Name: tenants tenants_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tenants ADD CONSTRAINT tenants_pkey PRIMARY KEY (id); -- -- Name: tenants tenants_slug_key; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tenants ADD CONSTRAINT tenants_slug_key UNIQUE (slug); -- -- Name: ticket_attachments ticket_attachments_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_attachments ADD CONSTRAINT ticket_attachments_pkey PRIMARY KEY (id); -- -- Name: ticket_categories ticket_categories_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_categories ADD CONSTRAINT ticket_categories_pkey PRIMARY KEY (id); -- -- Name: ticket_categories ticket_categories_tenant_id_name_key; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_categories ADD CONSTRAINT ticket_categories_tenant_id_name_key UNIQUE (tenant_id, name); -- -- Name: ticket_comments ticket_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_comments ADD CONSTRAINT ticket_comments_pkey PRIMARY KEY (id); -- -- Name: ticket_status_history ticket_status_history_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_status_history ADD CONSTRAINT ticket_status_history_pkey PRIMARY KEY (id); -- -- Name: tickets tickets_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tickets ADD CONSTRAINT tickets_pkey PRIMARY KEY (id); -- -- Name: tickets tickets_tenant_id_ticket_number_key; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tickets ADD CONSTRAINT tickets_tenant_id_ticket_number_key UNIQUE (tenant_id, ticket_number); -- -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.users ADD CONSTRAINT users_pkey PRIMARY KEY (id); -- -- Name: users users_tenant_id_email_key; Type: CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.users ADD CONSTRAINT users_tenant_id_email_key UNIQUE (tenant_id, email); -- -- Name: idx_audit_logs_action; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_audit_logs_action ON public.audit_logs USING btree (action); -- -- Name: idx_audit_logs_correlation_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_audit_logs_correlation_id ON public.audit_logs USING btree (correlation_id); -- -- Name: idx_audit_logs_created_at; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_audit_logs_created_at ON public.audit_logs USING btree (created_at); -- -- Name: idx_audit_logs_resource; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_audit_logs_resource ON public.audit_logs USING btree (resource_type, resource_id); -- -- Name: idx_audit_logs_tenant_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_audit_logs_tenant_id ON public.audit_logs USING btree (tenant_id); -- -- Name: idx_audit_logs_user_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_audit_logs_user_id ON public.audit_logs USING btree (user_id); -- -- Name: idx_clients_name; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_clients_name ON public.clients USING btree (name); -- -- Name: idx_clients_properties; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_clients_properties ON public.clients USING gin (properties); -- -- Name: idx_clients_tax_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_clients_tax_id ON public.clients USING btree (tax_id); -- -- Name: idx_clients_tenant_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_clients_tenant_id ON public.clients USING btree (tenant_id); -- -- Name: idx_email_templates_tenant_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_email_templates_tenant_id ON public.email_templates USING btree (tenant_id); -- -- Name: idx_email_templates_type; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_email_templates_type ON public.email_templates USING btree (template_type); -- -- Name: idx_notification_logs_created_at; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_notification_logs_created_at ON public.notification_logs USING btree (created_at); -- -- Name: idx_notification_logs_recipient; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_notification_logs_recipient ON public.notification_logs USING btree (recipient_email); -- -- Name: idx_notification_logs_status; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_notification_logs_status ON public.notification_logs USING btree (status); -- -- Name: idx_notification_logs_tenant_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_notification_logs_tenant_id ON public.notification_logs USING btree (tenant_id); -- -- Name: idx_notification_logs_ticket_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_notification_logs_ticket_id ON public.notification_logs USING btree (ticket_id); -- -- Name: idx_refresh_tokens_expires; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_refresh_tokens_expires ON public.refresh_tokens USING btree (expires_at); -- -- Name: idx_refresh_tokens_hash; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_refresh_tokens_hash ON public.refresh_tokens USING btree (token_hash); -- -- Name: idx_refresh_tokens_user_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_refresh_tokens_user_id ON public.refresh_tokens USING btree (user_id); -- -- Name: idx_tenants_domain; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tenants_domain ON public.tenants USING btree (domain); -- -- Name: idx_tenants_slug; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tenants_slug ON public.tenants USING btree (slug); -- -- Name: idx_tenants_status; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tenants_status ON public.tenants USING btree (status); -- -- Name: idx_ticket_attachments_comment_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_attachments_comment_id ON public.ticket_attachments USING btree (comment_id); -- -- Name: idx_ticket_attachments_ticket_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_attachments_ticket_id ON public.ticket_attachments USING btree (ticket_id); -- -- Name: idx_ticket_attachments_uploaded_by; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_attachments_uploaded_by ON public.ticket_attachments USING btree (uploaded_by); -- -- Name: idx_ticket_comments_author_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_comments_author_id ON public.ticket_comments USING btree (author_id); -- -- Name: idx_ticket_comments_created_at; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_comments_created_at ON public.ticket_comments USING btree (created_at); -- -- Name: idx_ticket_comments_ticket_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_comments_ticket_id ON public.ticket_comments USING btree (ticket_id); -- -- Name: idx_ticket_status_history_changed_by; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_status_history_changed_by ON public.ticket_status_history USING btree (changed_by); -- -- Name: idx_ticket_status_history_created_at; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_status_history_created_at ON public.ticket_status_history USING btree (created_at); -- -- Name: idx_ticket_status_history_ticket_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_ticket_status_history_ticket_id ON public.ticket_status_history USING btree (ticket_id); -- -- Name: idx_tickets_assigned_to; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_assigned_to ON public.tickets USING btree (assigned_to); -- -- Name: idx_tickets_category; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_category ON public.tickets USING btree (category_id); -- -- Name: idx_tickets_created_at; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_created_at ON public.tickets USING btree (created_at); -- -- Name: idx_tickets_created_by; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_created_by ON public.tickets USING btree (created_by); -- -- Name: idx_tickets_number; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_number ON public.tickets USING btree (ticket_number); -- -- Name: idx_tickets_priority; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_priority ON public.tickets USING btree (priority); -- -- Name: idx_tickets_sla_resolution; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_sla_resolution ON public.tickets USING btree (sla_resolution_due); -- -- Name: idx_tickets_sla_response; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_sla_response ON public.tickets USING btree (sla_response_due); -- -- Name: idx_tickets_status; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_status ON public.tickets USING btree (status); -- -- Name: idx_tickets_tenant_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_tickets_tenant_id ON public.tickets USING btree (tenant_id); -- -- Name: idx_users_active; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_users_active ON public.users USING btree (is_active); -- -- Name: idx_users_email; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_users_email ON public.users USING btree (email); -- -- Name: idx_users_role; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_users_role ON public.users USING btree (role); -- -- Name: idx_users_tenant_email; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_users_tenant_email ON public.users USING btree (tenant_id, email); -- -- Name: idx_users_tenant_id; Type: INDEX; Schema: public; Owner: servicemanager -- CREATE INDEX idx_users_tenant_id ON public.users USING btree (tenant_id); -- -- Name: clients update_clients_updated_at; Type: TRIGGER; Schema: public; Owner: servicemanager -- CREATE TRIGGER update_clients_updated_at BEFORE UPDATE ON public.clients FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column(); -- -- Name: email_templates update_email_templates_updated_at; Type: TRIGGER; Schema: public; Owner: servicemanager -- CREATE TRIGGER update_email_templates_updated_at BEFORE UPDATE ON public.email_templates FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column(); -- -- Name: tenants update_tenants_updated_at; Type: TRIGGER; Schema: public; Owner: servicemanager -- CREATE TRIGGER update_tenants_updated_at BEFORE UPDATE ON public.tenants FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column(); -- -- Name: ticket_comments update_ticket_comments_updated_at; Type: TRIGGER; Schema: public; Owner: servicemanager -- CREATE TRIGGER update_ticket_comments_updated_at BEFORE UPDATE ON public.ticket_comments FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column(); -- -- Name: tickets update_tickets_updated_at; Type: TRIGGER; Schema: public; Owner: servicemanager -- CREATE TRIGGER update_tickets_updated_at BEFORE UPDATE ON public.tickets FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column(); -- -- Name: users update_users_updated_at; Type: TRIGGER; Schema: public; Owner: servicemanager -- CREATE TRIGGER update_users_updated_at BEFORE UPDATE ON public.users FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column(); -- -- Name: affected_systems affected_systems_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.affected_systems ADD CONSTRAINT affected_systems_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id) ON DELETE CASCADE; -- -- Name: audit_logs audit_logs_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT audit_logs_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id); -- -- Name: audit_logs audit_logs_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT audit_logs_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id); -- -- Name: categories categories_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.categories ADD CONSTRAINT categories_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id) ON DELETE CASCADE; -- -- Name: clients clients_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.clients ADD CONSTRAINT clients_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id) ON DELETE CASCADE; -- -- Name: email_templates email_templates_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.email_templates ADD CONSTRAINT email_templates_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id); -- -- Name: notification_logs notification_logs_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.notification_logs ADD CONSTRAINT notification_logs_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id); -- -- Name: notification_logs notification_logs_ticket_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.notification_logs ADD CONSTRAINT notification_logs_ticket_id_fkey FOREIGN KEY (ticket_id) REFERENCES public.tickets(id); -- -- Name: notification_logs notification_logs_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.notification_logs ADD CONSTRAINT notification_logs_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id); -- -- Name: refresh_tokens refresh_tokens_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.refresh_tokens ADD CONSTRAINT refresh_tokens_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE; -- -- Name: ticket_attachments ticket_attachments_comment_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_attachments ADD CONSTRAINT ticket_attachments_comment_id_fkey FOREIGN KEY (comment_id) REFERENCES public.ticket_comments(id) ON DELETE CASCADE; -- -- Name: ticket_attachments ticket_attachments_ticket_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_attachments ADD CONSTRAINT ticket_attachments_ticket_id_fkey FOREIGN KEY (ticket_id) REFERENCES public.tickets(id) ON DELETE CASCADE; -- -- Name: ticket_attachments ticket_attachments_uploaded_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_attachments ADD CONSTRAINT ticket_attachments_uploaded_by_fkey FOREIGN KEY (uploaded_by) REFERENCES public.users(id); -- -- Name: ticket_categories ticket_categories_auto_assign_to_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_categories ADD CONSTRAINT ticket_categories_auto_assign_to_fkey FOREIGN KEY (auto_assign_to) REFERENCES public.users(id); -- -- Name: ticket_categories ticket_categories_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_categories ADD CONSTRAINT ticket_categories_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id) ON DELETE CASCADE; -- -- Name: ticket_comments ticket_comments_author_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_comments ADD CONSTRAINT ticket_comments_author_id_fkey FOREIGN KEY (author_id) REFERENCES public.users(id); -- -- Name: ticket_comments ticket_comments_ticket_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_comments ADD CONSTRAINT ticket_comments_ticket_id_fkey FOREIGN KEY (ticket_id) REFERENCES public.tickets(id) ON DELETE CASCADE; -- -- Name: ticket_status_history ticket_status_history_changed_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_status_history ADD CONSTRAINT ticket_status_history_changed_by_fkey FOREIGN KEY (changed_by) REFERENCES public.users(id); -- -- Name: ticket_status_history ticket_status_history_new_assigned_to_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_status_history ADD CONSTRAINT ticket_status_history_new_assigned_to_fkey FOREIGN KEY (new_assigned_to) REFERENCES public.users(id); -- -- Name: ticket_status_history ticket_status_history_old_assigned_to_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_status_history ADD CONSTRAINT ticket_status_history_old_assigned_to_fkey FOREIGN KEY (old_assigned_to) REFERENCES public.users(id); -- -- Name: ticket_status_history ticket_status_history_ticket_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.ticket_status_history ADD CONSTRAINT ticket_status_history_ticket_id_fkey FOREIGN KEY (ticket_id) REFERENCES public.tickets(id) ON DELETE CASCADE; -- -- Name: tickets tickets_affected_system_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tickets ADD CONSTRAINT tickets_affected_system_id_fkey FOREIGN KEY (affected_system_id) REFERENCES public.affected_systems(id); -- -- Name: tickets tickets_assigned_to_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tickets ADD CONSTRAINT tickets_assigned_to_fkey FOREIGN KEY (assigned_to) REFERENCES public.users(id); -- -- Name: tickets tickets_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tickets ADD CONSTRAINT tickets_category_id_fkey FOREIGN KEY (category_id) REFERENCES public.ticket_categories(id); -- -- Name: tickets tickets_created_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tickets ADD CONSTRAINT tickets_created_by_fkey FOREIGN KEY (created_by) REFERENCES public.users(id); -- -- Name: tickets tickets_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.tickets ADD CONSTRAINT tickets_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id) ON DELETE CASCADE; -- -- Name: users users_tenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: servicemanager -- ALTER TABLE ONLY public.users ADD CONSTRAINT users_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES public.tenants(id) ON DELETE CASCADE; -- -- PostgreSQL database dump complete -- \unrestrict hWIbt8S7VEXx5dxoALHYDOlkQT2wsIvUzJNjUOU16wDDdv5MbAJwm0aG2VBVfkR