CREATE TABLE fleet_firmware_download_ticket ( token_hash bytea PRIMARY KEY CHECK(octet_length(token_hash)=32), release_id uuid NOT NULL REFERENCES fleet_firmware(id) ON DELETE CASCADE, ota_id uuid REFERENCES fleet_ota(id) ON DELETE CASCADE, expires_at timestamptz NOT NULL, revoked_at timestamptz, created_at timestamptz NOT NULL DEFAULT now() ); CREATE UNIQUE INDEX fleet_firmware_download_ticket_ota ON fleet_firmware_download_ticket(ota_id) WHERE ota_id IS NOT NULL; CREATE INDEX fleet_firmware_download_ticket_expiry ON fleet_firmware_download_ticket(expires_at) WHERE revoked_at IS NULL;