From 6a09ce9ee5a8b65d1cc78e4b58de83e9d360bd1c Mon Sep 17 00:00:00 2001 From: markosbenitez Date: Sun, 28 Jun 2026 00:43:05 -0300 Subject: [PATCH] =?UTF-8?q?fix(seed):=20consolidar=20en=20un=20=C3=BAnico?= =?UTF-8?q?=20bloque=20DO=20$$=20(DELETE+UPDATE=20adentro)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La versión anterior (af751d7) ya resolvía los question_id por code en runtime, pero DELETE y el primer UPDATE quedaban como statements sueltos ANTES del bloque DO $$ — si psql corre sin -v ON_ERROR_STOP=1, un fallo dentro del DO no impide que esos statements sueltos ya se hayan ejecutado, y deja el "único bloque" pedido incompleto. Ahora DELETE, los dos UPDATE y los 50 PERFORM viven todos dentro de un solo DO $$ ... END $$. Si algo falla, aborta el bloque completo (un solo error, no cincuenta) — nada de hardcodeado salvo el uuid del survey Demo (necesario para inicializar la variable s_id). Mismos 50 datos, verificado byte a byte contra la versión anterior (diff vacío salvo nombres de variable). --- docs/dashboard/seed_prueba_50.sql | 183 +++++++++++++++--------------- 1 file changed, 94 insertions(+), 89 deletions(-) diff --git a/docs/dashboard/seed_prueba_50.sql b/docs/dashboard/seed_prueba_50.sql index b9c006a..25a57b7 100644 --- a/docs/dashboard/seed_prueba_50.sql +++ b/docs/dashboard/seed_prueba_50.sql @@ -13,17 +13,14 @@ -- prefijo 'seed-prueba-'), no un TRUNCATE de las tablas completas — answers/ -- responses/consent_records pueden tener datos reales de otras encuestas -- (InQuality, Fundación Solidaridad) que este script no debe tocar. -DELETE FROM public.responses - WHERE survey_id = '30000000-0000-0000-0000-000000000001' - AND ip_hash LIKE 'seed-prueba-%'; --- answers cae por ON DELETE CASCADE (responses.id). consent_records de estas --- filas queda huérfano a propósito — es evidencia de consentimiento (ADR-003), --- no se borra aunque la response que lo usaba se borre. - -UPDATE surveys SET status='live' WHERE id='30000000-0000-0000-0000-000000000001'; +-- Único bloque DO $$ — sin statements sueltos antes/después que psql +-- pueda seguir ejecutando como filas independientes si algo de acá adentro +-- falla. Si un PERFORM revienta, todo el bloque aborta y se ve UN error, +-- no cincuenta. DO $$ DECLARE + s_id uuid := '30000000-0000-0000-0000-000000000001'; q_2_7 uuid; q_4_1 uuid; q_6_1 uuid; @@ -40,77 +37,86 @@ DECLARE BEGIN -- Resolver UUIDs de questions por code, en el momento de ejecutarse. SELECT id INTO q_2_7 FROM public.questions - WHERE code = '2.7' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '2.7' AND survey_id = s_id; SELECT id INTO q_4_1 FROM public.questions - WHERE code = '4.1' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '4.1' AND survey_id = s_id; SELECT id INTO q_6_1 FROM public.questions - WHERE code = '6.1' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '6.1' AND survey_id = s_id; SELECT id INTO q_6_2 FROM public.questions - WHERE code = '6.2' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '6.2' AND survey_id = s_id; SELECT id INTO q_6_4 FROM public.questions - WHERE code = '6.4' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '6.4' AND survey_id = s_id; SELECT id INTO q_7_2 FROM public.questions - WHERE code = '7.2' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '7.2' AND survey_id = s_id; SELECT id INTO q_7_3 FROM public.questions - WHERE code = '7.3' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '7.3' AND survey_id = s_id; SELECT id INTO q_7_5 FROM public.questions - WHERE code = '7.5' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '7.5' AND survey_id = s_id; SELECT id INTO q_7_6 FROM public.questions - WHERE code = '7.6' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '7.6' AND survey_id = s_id; SELECT id INTO q_9_1 FROM public.questions - WHERE code = '9.1' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '9.1' AND survey_id = s_id; SELECT id INTO q_9_2 FROM public.questions - WHERE code = '9.2' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '9.2' AND survey_id = s_id; SELECT id INTO q_9_3 FROM public.questions - WHERE code = '9.3' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '9.3' AND survey_id = s_id; SELECT id INTO q_9_4 FROM public.questions - WHERE code = '9.4' AND survey_id = '30000000-0000-0000-0000-000000000001'; + WHERE code = '9.4' AND survey_id = s_id; -- Si alguna no se resolvió, frenar acá con un mensaje claro en vez de -- dejar que rpc_submit_response falle más abajo con invalid_answer_reference. IF q_2_7 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '2.7', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '2.7'; END IF; IF q_4_1 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '4.1', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '4.1'; END IF; IF q_6_1 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '6.1', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '6.1'; END IF; IF q_6_2 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '6.2', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '6.2'; END IF; IF q_6_4 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '6.4', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '6.4'; END IF; IF q_7_2 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '7.2', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '7.2'; END IF; IF q_7_3 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '7.3', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '7.3'; END IF; IF q_7_5 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '7.5', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '7.5'; END IF; IF q_7_6 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '7.6', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '7.6'; END IF; IF q_9_1 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '9.1', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '9.1'; END IF; IF q_9_2 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '9.2', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '9.2'; END IF; IF q_9_3 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '9.3', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '9.3'; END IF; IF q_9_4 IS NULL THEN - RAISE EXCEPTION 'No se encontró question code=% para survey_id=%', '9.4', '30000000-0000-0000-0000-000000000001'; + RAISE EXCEPTION 'UUID no encontrado para code %', '9.4'; END IF; + DELETE FROM public.responses + WHERE survey_id = s_id + AND ip_hash LIKE 'seed-prueba-%'; + -- answers cae por ON DELETE CASCADE (responses.id). consent_records de + -- estas filas queda huérfano a propósito — es evidencia de consentimiento + -- (ADR-003), no se borra aunque la response que lo usaba se borre. + + UPDATE surveys SET status='live' WHERE id = s_id; + -- seed-prueba-000 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-000', '55 años o más', 'Auxiliar', 'Central', + s_id, 'seed-prueba-000', '55 años o más', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar mayor con discapacidad']::text[]), @@ -130,7 +136,7 @@ BEGIN ); -- seed-prueba-001 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-001', '35 a 44 años', 'Operativo', 'Central', + s_id, 'seed-prueba-001', '35 a 44 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo adulto con discapacidad']::text[]), @@ -150,7 +156,7 @@ BEGIN ); -- seed-prueba-002 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-002', '35 a 44 años', 'Operativo', 'Central', + s_id, 'seed-prueba-002', '35 a 44 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar']::text[]), @@ -170,7 +176,7 @@ BEGIN ); -- seed-prueba-003 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-003', '25 a 34 años', 'Gerencial', 'Central', + s_id, 'seed-prueba-003', '25 a 34 años', 'Gerencial', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Padre/madre con movilidad reducida o 100% dependiente']::text[]), @@ -190,7 +196,7 @@ BEGIN ); -- seed-prueba-004 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-004', '55 años o más', 'Jefatura', 'Central', + s_id, 'seed-prueba-004', '55 años o más', 'Jefatura', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar mayor con discapacidad', 'Hijo adulto con discapacidad']::text[]), @@ -210,7 +216,7 @@ BEGIN ); -- seed-prueba-005 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-005', '55 años o más', 'Auxiliar', 'Alto Paraná', + s_id, 'seed-prueba-005', '55 años o más', 'Auxiliar', 'Alto Paraná', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor con discapacidad']::text[]), @@ -230,7 +236,7 @@ BEGIN ); -- seed-prueba-006 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-006', '25 a 34 años', 'Auxiliar', 'Central', + s_id, 'seed-prueba-006', '25 a 34 años', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar', 'Hijo menor sin discapacidad']::text[]), @@ -250,7 +256,7 @@ BEGIN ); -- seed-prueba-007 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-007', '35 a 44 años', 'Auxiliar', 'Central', + s_id, 'seed-prueba-007', '35 a 44 años', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor con discapacidad']::text[]), @@ -270,7 +276,7 @@ BEGIN ); -- seed-prueba-008 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-008', '35 a 44 años', 'Operativo', 'Central', + s_id, 'seed-prueba-008', '35 a 44 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor con discapacidad', 'Familiar mayor con discapacidad']::text[]), @@ -290,7 +296,7 @@ BEGIN ); -- seed-prueba-009 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-009', 'Menos de 25 años', 'Operativo', 'Central', + s_id, 'seed-prueba-009', 'Menos de 25 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor con discapacidad']::text[]), @@ -310,7 +316,7 @@ BEGIN ); -- seed-prueba-010 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-010', '25 a 34 años', 'Operativo', 'Asunción (Capital)', + s_id, 'seed-prueba-010', '25 a 34 años', 'Operativo', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar']::text[]), @@ -330,7 +336,7 @@ BEGIN ); -- seed-prueba-011 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-011', '35 a 44 años', 'Auxiliar', 'Central', + s_id, 'seed-prueba-011', '35 a 44 años', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Padre/madre con movilidad reducida o 100% dependiente']::text[]), @@ -350,7 +356,7 @@ BEGIN ); -- seed-prueba-012 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-012', '55 años o más', 'Operativo', 'Central', + s_id, 'seed-prueba-012', '55 años o más', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor sin discapacidad', 'Familiar mayor con discapacidad']::text[]), @@ -370,7 +376,7 @@ BEGIN ); -- seed-prueba-013 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-013', '25 a 34 años', 'Operativo', 'Central', + s_id, 'seed-prueba-013', '25 a 34 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar']::text[]), @@ -390,7 +396,7 @@ BEGIN ); -- seed-prueba-014 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-014', '35 a 44 años', 'Gerencial', 'Asunción (Capital)', + s_id, 'seed-prueba-014', '35 a 44 años', 'Gerencial', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar mayor con discapacidad']::text[]), @@ -410,7 +416,7 @@ BEGIN ); -- seed-prueba-015 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-015', '35 a 44 años', 'Operativo', 'Asunción (Capital)', + s_id, 'seed-prueba-015', '35 a 44 años', 'Operativo', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Padre/madre con movilidad reducida o 100% dependiente']::text[]), @@ -430,7 +436,7 @@ BEGIN ); -- seed-prueba-016 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-016', '25 a 34 años', 'Directivo', 'Central', + s_id, 'seed-prueba-016', '25 a 34 años', 'Directivo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar menor con discapacidad']::text[]), @@ -450,7 +456,7 @@ BEGIN ); -- seed-prueba-017 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-017', '55 años o más', 'Auxiliar', 'Central', + s_id, 'seed-prueba-017', '55 años o más', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor con discapacidad']::text[]), @@ -470,7 +476,7 @@ BEGIN ); -- seed-prueba-018 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-018', '45 a 54 años', 'Auxiliar', 'Asunción (Capital)', + s_id, 'seed-prueba-018', '45 a 54 años', 'Auxiliar', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar']::text[]), @@ -490,7 +496,7 @@ BEGIN ); -- seed-prueba-019 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-019', '55 años o más', 'Operativo', 'Central', + s_id, 'seed-prueba-019', '55 años o más', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor sin discapacidad']::text[]), @@ -510,7 +516,7 @@ BEGIN ); -- seed-prueba-020 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-020', '55 años o más', 'Jefatura', 'Alto Paraná', + s_id, 'seed-prueba-020', '55 años o más', 'Jefatura', 'Alto Paraná', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor sin discapacidad', 'Familiar mayor con discapacidad']::text[]), @@ -530,7 +536,7 @@ BEGIN ); -- seed-prueba-021 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-021', '45 a 54 años', 'Jefatura', 'Central', + s_id, 'seed-prueba-021', '45 a 54 años', 'Jefatura', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar menor con discapacidad']::text[]), @@ -550,7 +556,7 @@ BEGIN ); -- seed-prueba-022 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-022', '45 a 54 años', 'Jefatura', 'Asunción (Capital)', + s_id, 'seed-prueba-022', '45 a 54 años', 'Jefatura', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Padre/madre con movilidad reducida o 100% dependiente']::text[]), @@ -570,7 +576,7 @@ BEGIN ); -- seed-prueba-023 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-023', '25 a 34 años', 'Operativo', 'Itapúa', + s_id, 'seed-prueba-023', '25 a 34 años', 'Operativo', 'Itapúa', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar menor con discapacidad', 'Padre/madre con movilidad reducida o 100% dependiente']::text[]), @@ -590,7 +596,7 @@ BEGIN ); -- seed-prueba-024 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-024', '25 a 34 años', 'Operativo', 'Asunción (Capital)', + s_id, 'seed-prueba-024', '25 a 34 años', 'Operativo', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar']::text[]), @@ -610,7 +616,7 @@ BEGIN ); -- seed-prueba-025 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-025', '25 a 34 años', 'Auxiliar', 'Asunción (Capital)', + s_id, 'seed-prueba-025', '25 a 34 años', 'Auxiliar', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar']::text[]), @@ -630,7 +636,7 @@ BEGIN ); -- seed-prueba-026 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-026', '25 a 34 años', 'Jefatura', 'Central', + s_id, 'seed-prueba-026', '25 a 34 años', 'Jefatura', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor sin discapacidad']::text[]), @@ -650,7 +656,7 @@ BEGIN ); -- seed-prueba-027 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-027', '35 a 44 años', 'Operativo', 'Central', + s_id, 'seed-prueba-027', '35 a 44 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar menor con discapacidad']::text[]), @@ -670,7 +676,7 @@ BEGIN ); -- seed-prueba-028 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-028', '55 años o más', 'Operativo', 'Central', + s_id, 'seed-prueba-028', '55 años o más', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor con discapacidad', 'Familiar menor con discapacidad']::text[]), @@ -690,7 +696,7 @@ BEGIN ); -- seed-prueba-029 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-029', '55 años o más', 'Auxiliar', 'Alto Paraná', + s_id, 'seed-prueba-029', '55 años o más', 'Auxiliar', 'Alto Paraná', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Padre/madre con movilidad reducida o 100% dependiente']::text[]), @@ -710,7 +716,7 @@ BEGIN ); -- seed-prueba-030 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-030', '35 a 44 años', 'Operativo', 'Alto Paraná', + s_id, 'seed-prueba-030', '35 a 44 años', 'Operativo', 'Alto Paraná', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Otro / Especificar']::text[]), @@ -730,7 +736,7 @@ BEGIN ); -- seed-prueba-031 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-031', '35 a 44 años', 'Operativo', 'Asunción (Capital)', + s_id, 'seed-prueba-031', '35 a 44 años', 'Operativo', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo adulto con discapacidad']::text[]), @@ -750,7 +756,7 @@ BEGIN ); -- seed-prueba-032 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-032', '25 a 34 años', 'Operativo', 'Asunción (Capital)', + s_id, 'seed-prueba-032', '25 a 34 años', 'Operativo', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar mayor con discapacidad']::text[]), @@ -770,7 +776,7 @@ BEGIN ); -- seed-prueba-033 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-033', 'Menos de 25 años', 'Auxiliar', 'Alto Paraná', + s_id, 'seed-prueba-033', 'Menos de 25 años', 'Auxiliar', 'Alto Paraná', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Hijo menor con discapacidad', 'Hijo adulto con discapacidad']::text[]), @@ -790,7 +796,7 @@ BEGIN ); -- seed-prueba-034 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-034', '55 años o más', 'Operativo', 'Central', + s_id, 'seed-prueba-034', '55 años o más', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Familiar menor con discapacidad', 'Hijo menor sin discapacidad']::text[]), @@ -810,7 +816,7 @@ BEGIN ); -- seed-prueba-035 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-035', '45 a 54 años', 'Jefatura', 'Itapúa', + s_id, 'seed-prueba-035', '45 a 54 años', 'Jefatura', 'Itapúa', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Padre/madre con movilidad reducida o 100% dependiente']::text[]), @@ -830,7 +836,7 @@ BEGIN ); -- seed-prueba-036 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-036', '25 a 34 años', 'Jefatura', 'Itapúa', + s_id, 'seed-prueba-036', '25 a 34 años', 'Jefatura', 'Itapúa', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -839,7 +845,7 @@ BEGIN ); -- seed-prueba-037 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-037', '35 a 44 años', 'Operativo', 'Central', + s_id, 'seed-prueba-037', '35 a 44 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -848,7 +854,7 @@ BEGIN ); -- seed-prueba-038 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-038', '35 a 44 años', 'Auxiliar', 'Central', + s_id, 'seed-prueba-038', '35 a 44 años', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -857,7 +863,7 @@ BEGIN ); -- seed-prueba-039 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-039', '35 a 44 años', 'Auxiliar', 'Asunción (Capital)', + s_id, 'seed-prueba-039', '35 a 44 años', 'Auxiliar', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -866,7 +872,7 @@ BEGIN ); -- seed-prueba-040 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-040', '45 a 54 años', 'Auxiliar', 'Central', + s_id, 'seed-prueba-040', '45 a 54 años', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -875,7 +881,7 @@ BEGIN ); -- seed-prueba-041 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-041', '35 a 44 años', 'Operativo', 'Asunción (Capital)', + s_id, 'seed-prueba-041', '35 a 44 años', 'Operativo', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -884,7 +890,7 @@ BEGIN ); -- seed-prueba-042 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-042', '25 a 34 años', 'Jefatura', 'Central', + s_id, 'seed-prueba-042', '25 a 34 años', 'Jefatura', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -893,7 +899,7 @@ BEGIN ); -- seed-prueba-043 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-043', 'Menos de 25 años', 'Operativo', 'Central', + s_id, 'seed-prueba-043', 'Menos de 25 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -902,7 +908,7 @@ BEGIN ); -- seed-prueba-044 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-044', '55 años o más', 'Operativo', 'Central', + s_id, 'seed-prueba-044', '55 años o más', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -911,7 +917,7 @@ BEGIN ); -- seed-prueba-045 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-045', '25 a 34 años', 'Auxiliar', 'Central', + s_id, 'seed-prueba-045', '25 a 34 años', 'Auxiliar', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -920,7 +926,7 @@ BEGIN ); -- seed-prueba-046 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-046', '25 a 34 años', 'Operativo', 'Central', + s_id, 'seed-prueba-046', '25 a 34 años', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -929,7 +935,7 @@ BEGIN ); -- seed-prueba-047 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-047', '55 años o más', 'Operativo', 'Central', + s_id, 'seed-prueba-047', '55 años o más', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -938,7 +944,7 @@ BEGIN ); -- seed-prueba-048 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-048', '55 años o más', 'Operativo', 'Central', + s_id, 'seed-prueba-048', '55 años o más', 'Operativo', 'Central', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -947,7 +953,7 @@ BEGIN ); -- seed-prueba-049 PERFORM public.rpc_submit_response( - '30000000-0000-0000-0000-000000000001'::uuid, 'seed-prueba-049', '35 a 44 años', 'Auxiliar', 'Asunción (Capital)', + s_id, 'seed-prueba-049', '35 a 44 años', 'Auxiliar', 'Asunción (Capital)', true, false, jsonb_build_array( jsonb_build_object('question_id', q_4_1, 'instance_id', 'default', 'value', ARRAY['Ninguna de las anteriores / No tengo vinculación de cuidado']::text[]), @@ -955,12 +961,11 @@ BEGIN ) ); + -- Survey queda en 'live' (ya lo estaba desde el UPDATE de arriba; este + -- segundo UPDATE es explícito para que quede claro al releer el script, + -- no depende de que nada de arriba lo haya dejado sin tocar). + UPDATE surveys SET status='live' WHERE id = s_id; END $$; --- El survey queda en 'live' (ya lo estaba desde el UPDATE inicial; este --- segundo UPDATE es explícito para que quede claro al releer el script, --- no depende de que nada de arriba haya dejado el status sin tocar). -UPDATE surveys SET status='live' WHERE id='30000000-0000-0000-0000-000000000001'; - -- Para limpiar manualmente este lote de prueba sin tocar otras encuestas: -- DELETE FROM public.responses WHERE survey_id = '30000000-0000-0000-0000-000000000001' AND ip_hash LIKE 'seed-prueba-%';