Files
story/migrations/000051_hardware_agent_license_pool.down.sql
T

24 lines
1.0 KiB
PL/PgSQL
Raw Normal View History

2026-09-06 17:04:11 +08:00
BEGIN;
WITH transitioned AS (
UPDATE device d
SET activation_state='ACTIVE',activation_revision=activation_revision+1,
activation_reason='license-v51-rollback',activation_updated_at=now(),version=version+1,updated_at=now()
FROM device_twin dt
WHERE dt.device_id=d.id AND d.status='registered' AND d.activation_state='PROVISIONING'
AND d.activation_reason='license-required-v51'
AND COALESCE(dt.desired_config->>'voice_runtime','legacy_voicechat')='volc_hardware_agent'
AND EXISTS (SELECT 1 FROM hardware_agent_provider_credential pc WHERE pc.device_id=d.id AND pc.status='ACTIVE')
RETURNING d.tenant_id,d.id,d.activation_revision
)
INSERT INTO device_activation_transition(
tenant_id,device_id,from_state,to_state,reason,source,actor_type,activation_revision
)
SELECT tenant_id,id,'PROVISIONING','ACTIVE','回滚License强制门禁','migration-51-rollback','system',activation_revision
FROM transitioned;
DROP TABLE hardware_agent_license;
DROP FUNCTION enforce_hardware_license_device_state();
COMMIT;