Fix: corregir errores de SQL en seed complejo - separar inserts y agregar STRICT
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
This commit is contained in:
@@ -66,11 +66,16 @@ BEGIN
|
|||||||
RETURNING id INTO op_despulpado_id;
|
RETURNING id INTO op_despulpado_id;
|
||||||
|
|
||||||
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
VALUES
|
VALUES ('ROB-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '14 days', 1500, '{"calidad": "A", "humedad": 55}'::jsonb)
|
||||||
('ROB-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '14 days', 1500, '{"calidad": "A", "humedad": 55}'::jsonb),
|
RETURNING id INTO lote_prim_id;
|
||||||
('ROB-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '14 days', 420, '{"calidad": "B", "humedad": 60}'::jsonb),
|
|
||||||
('ROB-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '14 days', 166, '{"destino": "compost"}'::jsonb)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
RETURNING id INTO lote_prim_id, lote_seg_id, lote_rech_id;
|
VALUES ('ROB-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '14 days', 420, '{"calidad": "B", "humedad": 60}'::jsonb)
|
||||||
|
RETURNING id INTO lote_seg_id;
|
||||||
|
|
||||||
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
|
VALUES ('ROB-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '14 days', 166, '{"destino": "compost"}'::jsonb)
|
||||||
|
RETURNING id INTO lote_rech_id;
|
||||||
|
|
||||||
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
||||||
VALUES
|
VALUES
|
||||||
@@ -162,11 +167,16 @@ BEGIN
|
|||||||
RETURNING id INTO op_despulpado_id;
|
RETURNING id INTO op_despulpado_id;
|
||||||
|
|
||||||
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
VALUES
|
VALUES ('ESP-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '13 days', 1300, '{"calidad": "A", "humedad": 54}'::jsonb)
|
||||||
('ESP-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '13 days', 1300, '{"calidad": "A", "humedad": 54}'::jsonb),
|
RETURNING id INTO lote_prim_id;
|
||||||
('ESP-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '13 days', 350, '{"calidad": "B"}'::jsonb),
|
|
||||||
('ESP-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '13 days', 150, '{"destino": "compost"}'::jsonb)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
RETURNING id INTO lote_prim_id, lote_seg_id, lote_rech_id;
|
VALUES ('ESP-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '13 days', 350, '{"calidad": "B"}'::jsonb)
|
||||||
|
RETURNING id INTO lote_seg_id;
|
||||||
|
|
||||||
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
|
VALUES ('ESP-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '13 days', 150, '{"destino": "compost"}'::jsonb)
|
||||||
|
RETURNING id INTO lote_rech_id;
|
||||||
|
|
||||||
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
||||||
VALUES
|
VALUES
|
||||||
@@ -255,11 +265,16 @@ BEGIN
|
|||||||
RETURNING id INTO op_despulpado_id;
|
RETURNING id INTO op_despulpado_id;
|
||||||
|
|
||||||
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
VALUES
|
VALUES ('PED-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '12 days', 1100, '{"calidad": "A"}'::jsonb)
|
||||||
('PED-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '12 days', 1100, '{"calidad": "A"}'::jsonb),
|
RETURNING id INTO lote_prim_id;
|
||||||
('PED-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '12 days', 280, '{"calidad": "B"}'::jsonb),
|
|
||||||
('PED-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '12 days', 120, '{"destino": "compost"}'::jsonb)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
RETURNING id INTO lote_prim_id, lote_seg_id, lote_rech_id;
|
VALUES ('PED-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '12 days', 280, '{"calidad": "B"}'::jsonb)
|
||||||
|
RETURNING id INTO lote_seg_id;
|
||||||
|
|
||||||
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
|
VALUES ('PED-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '12 days', 120, '{"destino": "compost"}'::jsonb)
|
||||||
|
RETURNING id INTO lote_rech_id;
|
||||||
|
|
||||||
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
||||||
VALUES
|
VALUES
|
||||||
@@ -348,11 +363,16 @@ BEGIN
|
|||||||
RETURNING id INTO op_despulpado_id;
|
RETURNING id INTO op_despulpado_id;
|
||||||
|
|
||||||
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
VALUES
|
VALUES ('COOP-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '11 days', 1600, '{"calidad": "A"}'::jsonb)
|
||||||
('COOP-PRIM-001', 'despulpado_primera', NOW() - INTERVAL '11 days', 1600, '{"calidad": "A"}'::jsonb),
|
RETURNING id INTO lote_prim_id;
|
||||||
('COOP-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '11 days', 450, '{"calidad": "B"}'::jsonb),
|
|
||||||
('COOP-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '11 days', 150, '{"destino": "compost"}'::jsonb)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
RETURNING id INTO lote_prim_id, lote_seg_id, lote_rech_id;
|
VALUES ('COOP-SEG-001', 'despulpado_segunda', NOW() - INTERVAL '11 days', 450, '{"calidad": "B"}'::jsonb)
|
||||||
|
RETURNING id INTO lote_seg_id;
|
||||||
|
|
||||||
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
|
VALUES ('COOP-RECH-001', 'despulpado_rechazos', NOW() - INTERVAL '11 days', 150, '{"destino": "compost"}'::jsonb)
|
||||||
|
RETURNING id INTO lote_rech_id;
|
||||||
|
|
||||||
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
||||||
VALUES
|
VALUES
|
||||||
@@ -422,8 +442,8 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
RAISE NOTICE 'MEZCLA NIVEL 1: Combinando Finca El Roble + La Esperanza...';
|
RAISE NOTICE 'MEZCLA NIVEL 1: Combinando Finca El Roble + La Esperanza...';
|
||||||
|
|
||||||
SELECT id INTO lote_rep1_id FROM lotes WHERE codigo = 'ROB-REP-001';
|
SELECT id INTO STRICT lote_rep1_id FROM lotes WHERE codigo = 'ROB-REP-001' LIMIT 1;
|
||||||
SELECT id INTO lote_rep2_id FROM lotes WHERE codigo = 'ESP-REP-001';
|
SELECT id INTO STRICT lote_rep2_id FROM lotes WHERE codigo = 'ESP-REP-001' LIMIT 1;
|
||||||
|
|
||||||
INSERT INTO operaciones (tipo, fecha, meta)
|
INSERT INTO operaciones (tipo, fecha, meta)
|
||||||
VALUES ('mezcla', NOW() - INTERVAL '3 days',
|
VALUES ('mezcla', NOW() - INTERVAL '3 days',
|
||||||
@@ -460,8 +480,8 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
RAISE NOTICE 'DIVISIÓN: Dividiendo mezcla nivel 1 para blend especial...';
|
RAISE NOTICE 'DIVISIÓN: Dividiendo mezcla nivel 1 para blend especial...';
|
||||||
|
|
||||||
SELECT id INTO lote_mezcla1_id FROM lotes WHERE codigo = 'MIX1-REP-001';
|
SELECT id INTO STRICT lote_mezcla1_id FROM lotes WHERE codigo = 'MIX1-REP-001' LIMIT 1;
|
||||||
SELECT id INTO lote_pedro_id FROM lotes WHERE codigo = 'PED-REP-001';
|
SELECT id INTO STRICT lote_pedro_id FROM lotes WHERE codigo = 'PED-REP-001' LIMIT 1;
|
||||||
|
|
||||||
-- Primero dividir la mezcla nivel 1
|
-- Primero dividir la mezcla nivel 1
|
||||||
INSERT INTO operaciones (tipo, fecha, meta)
|
INSERT INTO operaciones (tipo, fecha, meta)
|
||||||
@@ -470,10 +490,12 @@ BEGIN
|
|||||||
RETURNING id INTO op_division_id;
|
RETURNING id INTO op_division_id;
|
||||||
|
|
||||||
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
VALUES
|
VALUES ('MIX1-REP-001A', 'reposo', NOW() - INTERVAL '2.5 days', 1800, '{"parte": "A", "humedad": 28}'::jsonb)
|
||||||
('MIX1-REP-001A', 'reposo', NOW() - INTERVAL '2.5 days', 1800, '{"parte": "A", "humedad": 28}'::jsonb),
|
RETURNING id INTO lote_mezcla1a_id;
|
||||||
('MIX1-REP-001B', 'reposo', NOW() - INTERVAL '2.5 days', 880, '{"parte": "B", "humedad": 28}'::jsonb)
|
|
||||||
RETURNING id INTO lote_mezcla1a_id, lote_mezcla1b_id;
|
INSERT INTO lotes (codigo, tipo, fecha_creado, cantidad_kg, meta)
|
||||||
|
VALUES ('MIX1-REP-001B', 'reposo', NOW() - INTERVAL '2.5 days', 880, '{"parte": "B", "humedad": 28}'::jsonb)
|
||||||
|
RETURNING id INTO lote_mezcla1b_id;
|
||||||
|
|
||||||
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
INSERT INTO operacion_lotes (operacion_id, lote_id, rol, cantidad_kg)
|
||||||
VALUES
|
VALUES
|
||||||
@@ -513,7 +535,7 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
RAISE NOTICE 'SECADO 1: Procesando lote de Cooperativa Sur...';
|
RAISE NOTICE 'SECADO 1: Procesando lote de Cooperativa Sur...';
|
||||||
|
|
||||||
SELECT id INTO lote_coop_id FROM lotes WHERE codigo = 'COOP-REP-001';
|
SELECT id INTO STRICT lote_coop_id FROM lotes WHERE codigo = 'COOP-REP-001' LIMIT 1;
|
||||||
|
|
||||||
INSERT INTO operaciones (tipo, fecha, meta)
|
INSERT INTO operaciones (tipo, fecha, meta)
|
||||||
VALUES ('secado', NOW() - INTERVAL '1.5 days',
|
VALUES ('secado', NOW() - INTERVAL '1.5 days',
|
||||||
@@ -546,8 +568,8 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
RAISE NOTICE 'SECADO 2: Procesando Blend Premium + resto mezcla 1...';
|
RAISE NOTICE 'SECADO 2: Procesando Blend Premium + resto mezcla 1...';
|
||||||
|
|
||||||
SELECT id INTO lote_blend_id FROM lotes WHERE codigo = 'BLEND-PREM-001';
|
SELECT id INTO STRICT lote_blend_id FROM lotes WHERE codigo = 'BLEND-PREM-001' LIMIT 1;
|
||||||
SELECT id INTO lote_mix1b_id FROM lotes WHERE codigo = 'MIX1-REP-001B';
|
SELECT id INTO STRICT lote_mix1b_id FROM lotes WHERE codigo = 'MIX1-REP-001B' LIMIT 1;
|
||||||
|
|
||||||
INSERT INTO operaciones (tipo, fecha, meta)
|
INSERT INTO operaciones (tipo, fecha, meta)
|
||||||
VALUES ('secado', NOW() - INTERVAL '1 day',
|
VALUES ('secado', NOW() - INTERVAL '1 day',
|
||||||
@@ -580,7 +602,7 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
RAISE NOTICE 'AJUSTE: Corrección de merma en secado premium...';
|
RAISE NOTICE 'AJUSTE: Corrección de merma en secado premium...';
|
||||||
|
|
||||||
SELECT id INTO lote_secado_id FROM lotes WHERE codigo = 'SEC-PREMIUM-001';
|
SELECT id INTO STRICT lote_secado_id FROM lotes WHERE codigo = 'SEC-PREMIUM-001' LIMIT 1;
|
||||||
|
|
||||||
INSERT INTO operaciones (tipo, fecha, meta)
|
INSERT INTO operaciones (tipo, fecha, meta)
|
||||||
VALUES ('ajuste_merma', NOW() - INTERVAL '12 hours',
|
VALUES ('ajuste_merma', NOW() - INTERVAL '12 hours',
|
||||||
@@ -608,7 +630,6 @@ DECLARE
|
|||||||
total_lotes INTEGER;
|
total_lotes INTEGER;
|
||||||
total_operaciones INTEGER;
|
total_operaciones INTEGER;
|
||||||
total_relaciones INTEGER;
|
total_relaciones INTEGER;
|
||||||
max_depth INTEGER;
|
|
||||||
BEGIN
|
BEGIN
|
||||||
SELECT COUNT(*) INTO total_lotes FROM lotes;
|
SELECT COUNT(*) INTO total_lotes FROM lotes;
|
||||||
SELECT COUNT(*) INTO total_operaciones FROM operaciones;
|
SELECT COUNT(*) INTO total_operaciones FROM operaciones;
|
||||||
|
|||||||
Reference in New Issue
Block a user