IF EXISTS (SELECT NULL FROM SYS.EXTENDED_PROPERTIES WHERE [major_id] = OBJECT_ID('teleport_solar_power') AND [name] = N'version' AND [minor_id] = 0)
EXEC sys.sp_updateextendedproperty
@level1name=N'teleport_solar_power'
EXEC sys.sp_addextendedproperty
@level1name=N'teleport_solar_power';
ALTER TABLE teleport_solar_power
reactive_power decimal(23,3) DEFAULT NULL,
power_factor decimal(5,4) DEFAULT NULL,
setpoints_confirmed_active_power_limit_percentage decimal(4,1) DEFAULT NULL,
setpoints_confirmed_active_power_limit decimal(23,3) DEFAULT NULL,
setpoints_confirmed_reactive_power_reactive_power decimal(23,3) DEFAULT NULL,
setpoints_confirmed_reactive_power_power_factor decimal(5, 4) DEFAULT NULL,
setpoints_confirmed_reactive_power_mode varchar(32) DEFAULT NULL,
setpoints_desired_active_power_limit_cloud decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_limit_active_control decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_limit_grid_operator decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_limit_modbus_server decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_limit_afrr_delta decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_limit_afrr_reference decimal(23,3) DEFAULT NULL,
setpoints_desired_reactive_power_cloud_reactive_power decimal(23,3) DEFAULT NULL,
setpoints_desired_reactive_power_cloud_power_factor decimal(5, 4) DEFAULT NULL,
setpoints_desired_reactive_power_cloud_mode varchar(32) DEFAULT NULL,
setpoints_desired_reactive_power_grid_operator_reactive_power decimal(23,3) DEFAULT NULL,
setpoints_desired_reactive_power_grid_operator_power_factor decimal(5, 4) DEFAULT NULL,
setpoints_desired_reactive_power_grid_operator_mode varchar(32) DEFAULT NULL,
setpoints_effective_active_power_limit decimal(23,3) DEFAULT NULL,
setpoints_effective_reactive_power_reactive_power decimal(23,3) DEFAULT NULL,
setpoints_effective_reactive_power_power_factor decimal(5, 4) DEFAULT NULL,
setpoints_effective_reactive_power_mode varchar(32) DEFAULT NULL;
-- The `active_power_limit_percentage` field is deprecated and replaced by `setpoints_confirmed_active_power_limit_percentage`.
-- Existing values are migrated accordingly to ensure a consistent representation of active power limits in percentage form.
-- This change improves standardization and flexibility in power control settings.
UPDATE teleport_solar_power
SET setpoints_confirmed_active_power_limit_percentage = active_power_limit_percentage;
DECLARE @ConstraintName1 NVARCHAR(200)
SELECT @ConstraintName1 = Name FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('dbo.teleport_solar_power')
AND PARENT_COLUMN_ID = (SELECT column_id FROM sys.columns
WHERE NAME = N'active_power_limit_percentage'
AND object_id = OBJECT_ID(N'dbo.teleport_solar_power'));
IF @ConstraintName1 IS NOT NULL
EXEC('ALTER TABLE teleport_solar_power DROP CONSTRAINT ' + @ConstraintName1);
ALTER TABLE teleport_solar_power
DROP COLUMN active_power_limit_percentage;
ALTER TABLE teleport_solar_power_inverters
reactive_power decimal(23,3) DEFAULT NULL,
power_factor decimal(5,4) DEFAULT NULL,
setpoints_confirmed_active_power_limit_percentage decimal(4,1) DEFAULT NULL,
setpoints_confirmed_active_power_limit decimal(23,3) DEFAULT NULL,
setpoints_confirmed_reactive_power_reactive_power decimal(23,3) DEFAULT NULL,
setpoints_confirmed_reactive_power_power_factor decimal(5, 4) DEFAULT NULL,
setpoints_confirmed_reactive_power_mode varchar(32) DEFAULT NULL;
-- The `active_power_limit_percentage` field is deprecated and replaced by `setpoints_confirmed_active_power_limit_percentage`.
-- Existing values are migrated accordingly to ensure a consistent representation of active power limits in percentage form.
-- This change improves standardization and flexibility in power control settings.
UPDATE teleport_solar_power_inverters
SET setpoints_confirmed_active_power_limit_percentage = active_power_limit_percentage;
DECLARE @ConstraintName2 NVARCHAR(200)
SELECT @ConstraintName2 = Name FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('dbo.teleport_solar_power_inverters')
AND PARENT_COLUMN_ID = (SELECT column_id FROM sys.columns
WHERE NAME = N'active_power_limit_percentage'
AND object_id = OBJECT_ID(N'dbo.teleport_solar_power_inverters'));
IF @ConstraintName2 IS NOT NULL
EXEC('ALTER TABLE teleport_solar_power_inverters DROP CONSTRAINT ' + @ConstraintName2);
ALTER TABLE teleport_solar_power_inverters
DROP COLUMN active_power_limit_percentage;