72 lines
2.1 KiB
Transact-SQL
72 lines
2.1 KiB
Transact-SQL
-- V017_ROLLBACK.sql
|
|
-- Reversa de V017__create_product_type.sql.
|
|
-- PRD-001: ProductType rollback.
|
|
--
|
|
-- ADVERTENCIA: Si PRD-002 ya fue mergeado (IProductQueryRepository real), hacer rollback
|
|
-- de PRD-002 primero (la interfaz es removida por esta rollback).
|
|
--
|
|
-- Idempotente: cada paso usa IF EXISTS guards.
|
|
|
|
SET QUOTED_IDENTIFIER ON;
|
|
SET ANSI_NULLS ON;
|
|
SET NOCOUNT ON;
|
|
GO
|
|
|
|
-- 1. Desactivar SYSTEM_VERSIONING
|
|
IF EXISTS (SELECT 1 FROM sys.tables WHERE object_id = OBJECT_ID('dbo.ProductType') AND temporal_type = 2)
|
|
BEGIN
|
|
ALTER TABLE dbo.ProductType SET (SYSTEM_VERSIONING = OFF);
|
|
PRINT 'ProductType: SYSTEM_VERSIONING = OFF.';
|
|
END
|
|
GO
|
|
|
|
-- 2. Remover PERIOD FOR SYSTEM_TIME
|
|
IF EXISTS (SELECT 1 FROM sys.periods WHERE object_id = OBJECT_ID('dbo.ProductType'))
|
|
BEGIN
|
|
ALTER TABLE dbo.ProductType DROP PERIOD FOR SYSTEM_TIME;
|
|
PRINT 'ProductType: PERIOD FOR SYSTEM_TIME dropped.';
|
|
END
|
|
GO
|
|
|
|
-- 3. Remover columnas HIDDEN + default constraints
|
|
IF COL_LENGTH('dbo.ProductType', 'ValidFrom') IS NOT NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.ProductType DROP CONSTRAINT IF EXISTS DF_ProductType_ValidFrom;
|
|
ALTER TABLE dbo.ProductType DROP CONSTRAINT IF EXISTS DF_ProductType_ValidTo;
|
|
ALTER TABLE dbo.ProductType DROP COLUMN ValidFrom, ValidTo;
|
|
PRINT 'ProductType: ValidFrom/ValidTo columns dropped.';
|
|
END
|
|
GO
|
|
|
|
-- 4. Drop history table
|
|
IF OBJECT_ID(N'dbo.ProductType_History', N'U') IS NOT NULL
|
|
BEGIN
|
|
DROP TABLE dbo.ProductType_History;
|
|
PRINT 'Table dbo.ProductType_History dropped.';
|
|
END
|
|
GO
|
|
|
|
-- 5. Drop main table
|
|
IF OBJECT_ID(N'dbo.ProductType', N'U') IS NOT NULL
|
|
BEGIN
|
|
DROP TABLE dbo.ProductType;
|
|
PRINT 'Table dbo.ProductType dropped.';
|
|
END
|
|
GO
|
|
|
|
-- 6. Remover RolPermiso para catalogo:tipos:gestionar
|
|
DELETE rp FROM dbo.RolPermiso rp
|
|
JOIN dbo.Permiso p ON p.Id = rp.PermisoId
|
|
WHERE p.Codigo = 'catalogo:tipos:gestionar';
|
|
PRINT 'RolPermiso rows for catalogo:tipos:gestionar deleted.';
|
|
GO
|
|
|
|
-- 7. Remover Permiso
|
|
DELETE FROM dbo.Permiso WHERE Codigo = 'catalogo:tipos:gestionar';
|
|
PRINT 'Permiso catalogo:tipos:gestionar deleted.';
|
|
GO
|
|
|
|
PRINT '';
|
|
PRINT 'V017 rolled back successfully.';
|
|
GO
|