Files
story/migrations/000058_device_sdk_registration.up.sql
2026-09-12 08:57:29 +08:00

14 lines
944 B
PL/PgSQL

BEGIN;
ALTER TABLE device_activation_attempt DROP CONSTRAINT device_activation_attempt_stage_check;
ALTER TABLE device_activation_attempt ADD CONSTRAINT device_activation_attempt_stage_check
CHECK(stage IN ('SERVER_REGISTER','ENGINE_INIT','SDK_REGISTER','CONVERSATION_TEST'));
-- Registration is a physical-device fact and survives changes of owner.
ALTER TABLE device_activation_job ADD COLUMN sdk_registered_at timestamptz;
UPDATE device_activation_job SET sdk_registered_at=updated_at WHERE provider_secret_ciphertext IS NOT NULL;
-- Old config packets use a different contract. Never replay them as 1.1.
UPDATE device_activation_job SET config_ciphertext=NULL,config_digest=NULL,config_expires_at=NULL,
config_ack_at=NULL,config_version=config_version+1,version=version+1,
status=CASE WHEN status='READY' THEN 'REGISTERED_OBSERVED' ELSE status END;
DELETE FROM device_onboarding_request WHERE actor_key LIKE 'device:%';
COMMIT;