31 lines
802 B
MySQL
31 lines
802 B
MySQL
|
|
-- V012_ROLLBACK.sql
|
||
|
|
-- Reversa de V012__seed_medios.sql.
|
||
|
|
--
|
||
|
|
-- Elimina los seed rows ELDIA y ELPLATA solo si NO tienen Secciones asociadas.
|
||
|
|
-- Si alguna sección depende de un seed Medio, el DELETE falla por FK ON DELETE NO ACTION.
|
||
|
|
|
||
|
|
SET QUOTED_IDENTIFIER ON;
|
||
|
|
SET ANSI_NULLS ON;
|
||
|
|
SET NOCOUNT ON;
|
||
|
|
GO
|
||
|
|
|
||
|
|
-- Falla temprano si hay secciones vivas apuntando a estos Medios.
|
||
|
|
IF EXISTS (
|
||
|
|
SELECT 1
|
||
|
|
FROM dbo.Seccion s
|
||
|
|
JOIN dbo.Medio m ON m.Id = s.MedioId
|
||
|
|
WHERE m.Codigo IN ('ELDIA', 'ELPLATA')
|
||
|
|
)
|
||
|
|
BEGIN
|
||
|
|
RAISERROR('Cannot rollback V012: existen Secciones vinculadas a ELDIA/ELPLATA. Rollback ADM-001 completo con V011_ROLLBACK.sql.', 16, 1);
|
||
|
|
RETURN;
|
||
|
|
END
|
||
|
|
GO
|
||
|
|
|
||
|
|
DELETE FROM dbo.Medio
|
||
|
|
WHERE Codigo IN ('ELDIA', 'ELPLATA');
|
||
|
|
GO
|
||
|
|
|
||
|
|
PRINT 'V012 rolled back — seed Medios ELDIA y ELPLATA removed.';
|
||
|
|
GO
|