18 lines
703 B
PL/PgSQL
18 lines
703 B
PL/PgSQL
BEGIN;
|
|
|
|
ALTER TABLE firmware_assignment DROP CONSTRAINT firmware_assignment_status_check;
|
|
UPDATE firmware_assignment SET status=CASE status
|
|
WHEN 'PENDING' THEN 'ASSIGNED'
|
|
WHEN 'COMMAND_QUEUED' THEN 'ASSIGNED'
|
|
WHEN 'SUCCEEDED' THEN 'CONFIRMED'
|
|
ELSE status
|
|
END;
|
|
ALTER TABLE firmware_assignment
|
|
ADD COLUMN progress_percent integer CHECK(progress_percent BETWEEN 0 AND 100),
|
|
ADD COLUMN last_result jsonb NOT NULL DEFAULT '{}'::jsonb CHECK(jsonb_typeof(last_result)='object'),
|
|
ADD COLUMN last_reported_at timestamptz,
|
|
ADD CONSTRAINT firmware_assignment_status_check
|
|
CHECK(status IN ('ASSIGNED','DOWNLOADING','INSTALLING','CONFIRMED','FAILED','ROLLED_BACK'));
|
|
|
|
COMMIT;
|