-- V024__reseed_global_with_zero_price.sql -- PRC-001 scope delta: actualiza las 4 filas globales de seed a PricePerUnit = 0.0000. -- -- Cambios: -- 1. UPDATE directo de las 4 filas globales vigentes ($, %, !, ¡) a PricePerUnit = 0.0000. -- -- Decisión: UPDATE directo (no forward-only close+insert) porque: -- - V022 seed price 1.0000 era siempre un placeholder nunca usado en lógica de negocio. -- - No existe historial de facturación con el valor 1.0000. -- - La semántica correcta es "opt-in billing": por defecto ningún tipo cobra especiales. -- - La forward-only invariante aplica a cambios de precio en producción; este es un fix -- de seed pre-go-live dentro de la misma branch feature (no mergeada a main aún). -- See: scope-delta-1 en engram sdd/prc-001-word-counter-spike/scope-delta-1. -- -- Patrón: UPDATE simple WHERE ProductTypeId IS NULL AND Symbol IN (...) AND ValidTo IS NULL. -- Idempotente: UPDATE idempotente (re-ejecutar no cambia el resultado). -- Reversa: V024_ROLLBACK.sql. -- Depends on: V023 (ProductTypeId column must exist; CK_Price_NonNegative >= 0 required). -- Run on: SIGCM2 (dev), SIGCM2_Test_App, SIGCM2_Test_Api. SET QUOTED_IDENTIFIER ON; SET ANSI_NULLS ON; SET NOCOUNT ON; GO UPDATE dbo.ChargeableCharConfig SET PricePerUnit = CAST(0.0000 AS DECIMAL(18,4)) WHERE ProductTypeId IS NULL AND Symbol IN (N'$', N'%', N'!', N'¡') AND ValidTo IS NULL; PRINT 'V024 applied — global ChargeableCharConfig prices reset to 0.0000 (opt-in billing).'; PRINT 'Rows updated: ' + CAST(@@ROWCOUNT AS NVARCHAR(10)); GO