Skip to content

Migration script

  • MSSQL
  • Battery power
  • v3 to v4
IF NOT EXISTS (SELECT NULL FROM SYS.EXTENDED_PROPERTIES WHERE [major_id] = OBJECT_ID('teleport_battery_power') AND [name] = N'version' AND [minor_id] = 0)
EXEC sys.sp_addextendedproperty
@name=N'version',
@value=4,
@level0type=N'SCHEMA',
@level0name=N'dbo',
@level1type=N'TABLE',
@level1name=N'teleport_battery_power'
ELSE EXEC sys.sp_updateextendedproperty
@name=N'version',
@value=4,
@level0type=N'SCHEMA',
@level0name=N'dbo',
@level1type=N'TABLE',
@level1name=N'teleport_battery_power';
ALTER TABLE teleport_battery_power
ADD
power_factor decimal(5, 4) DEFAULT NULL,
active_power_setpoint_active_power decimal(23,3) DEFAULT NULL,
active_power_setpoint_charge_to_percentage decimal(23,3) DEFAULT NULL,
setpoints_confirmed_active_power 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_confirmed_deliver_fcr decimal(23,3) DEFAULT NULL,
setpoints_confirmed_charge_to_percentage decimal(7,4) DEFAULT NULL,
setpoints_desired_active_power_cloud decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_active_control decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_grid_operator decimal(23,3) DEFAULT NULL,
setpoints_desired_active_power_modbus_server 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_desired_charge_to_percentage_cloud decimal(7,4) DEFAULT NULL,
setpoints_desired_deliver_fcr_cloud decimal(23,3) DEFAULT NULL,
setpoints_effective_active_power 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 `configuration` object is deprecated and replaced by `setpoints`.
-- Mappings are applied as follows:
-- `configuration_dispatch_power_active_power` → `setpoints_confirmed_active_power`.
-- `configuration_deliver_fcr_max_rate` → `setpoints_confirmed_deliver_fcr`.
-- `configuration_charge_to_state_percentage` → `setpoints_confirmed_charge_to_percentage`.
-- This transition consolidates configuration parameters into a structured `setpoints_confirmed` object.
-- Following properties are renamed and new columns are created
-- `active_power_setpoint_dispatch_power` to `active_power_setpoint_active_power`
-- `active_power_setpoint_charge_to_state` to `active_power_setpoint_charge_to_percentage`
UPDATE teleport_battery_power
SET
active_power_setpoint_active_power = active_power_setpoint_dispatch_power,
active_power_setpoint_charge_to_percentage = active_power_setpoint_charge_to_state,
setpoints_confirmed_active_power = configuration_dispatch_power_active_power,
setpoints_confirmed_deliver_fcr = configuration_deliver_fcr_max_rate,
setpoints_confirmed_charge_to_percentage = configuration_charge_to_state_percentage;
-- drop configuration_dispatch_power_active_power constraint
DECLARE @ConstraintName1 NVARCHAR(200)
SELECT @ConstraintName1 = Name FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('dbo.teleport_battery_power')
AND PARENT_COLUMN_ID = (SELECT column_id FROM sys.columns
WHERE NAME = N'configuration_dispatch_power_active_power'
AND object_id = OBJECT_ID(N'dbo.teleport_battery_power'));
IF @ConstraintName1 IS NOT NULL
EXEC('ALTER TABLE teleport_battery_power DROP CONSTRAINT ' + @ConstraintName1);
-- drop configuration_deliver_fcr_max_rate constraint
DECLARE @ConstraintName2 NVARCHAR(200)
SELECT @ConstraintName2 = Name FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('dbo.teleport_battery_power')
AND PARENT_COLUMN_ID = (SELECT column_id FROM sys.columns
WHERE NAME = N'configuration_deliver_fcr_max_rate'
AND object_id = OBJECT_ID(N'dbo.teleport_battery_power'));
IF @ConstraintName2 IS NOT NULL
EXEC('ALTER TABLE teleport_battery_power DROP CONSTRAINT ' + @ConstraintName2);
-- drop configuration_charge_to_state_percentage constraint
DECLARE @ConstraintName3 NVARCHAR(200)
SELECT @ConstraintName3 = Name FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('dbo.teleport_battery_power')
AND PARENT_COLUMN_ID = (SELECT column_id FROM sys.columns
WHERE NAME = N'configuration_charge_to_state_percentage'
AND object_id = OBJECT_ID(N'dbo.teleport_battery_power'));
IF @ConstraintName3 IS NOT NULL
EXEC('ALTER TABLE teleport_battery_power DROP CONSTRAINT ' + @ConstraintName3);
-- drop active_power_setpoint_dispatch_power constraint
DECLARE @ConstraintName4 NVARCHAR(200)
SELECT @ConstraintName4 = Name FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('dbo.teleport_battery_power')
AND PARENT_COLUMN_ID = (SELECT column_id FROM sys.columns
WHERE NAME = N'active_power_setpoint_dispatch_power'
AND object_id = OBJECT_ID(N'dbo.teleport_battery_power'));
IF @ConstraintName4 IS NOT NULL
EXEC('ALTER TABLE teleport_battery_power DROP CONSTRAINT ' + @ConstraintName4);
-- drop active_power_setpoint_charge_to_state constraint
DECLARE @ConstraintName5 NVARCHAR(200)
SELECT @ConstraintName5 = Name FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('dbo.teleport_battery_power')
AND PARENT_COLUMN_ID = (SELECT column_id FROM sys.columns
WHERE NAME = N'active_power_setpoint_charge_to_state'
AND object_id = OBJECT_ID(N'dbo.teleport_battery_power'));
IF @ConstraintName5 IS NOT NULL
EXEC('ALTER TABLE teleport_battery_power DROP CONSTRAINT ' + @ConstraintName5);
ALTER TABLE teleport_battery_power
DROP COLUMN
active_power_setpoint_dispatch_power,
active_power_setpoint_charge_to_state,
configuration_dispatch_power_active_power,
configuration_deliver_fcr_max_rate,
configuration_charge_to_state_percentage;