CREATE type device_t AS (id integer, "authToken" varchar(255), salt varchar(255), "signalingKey" varchar(255), "gcmId" text, "apnId" text);
CREATE type account_t AS (number varchar(255), "supportsSms" smallint, devices device_t array);
UPDATE accounts SET data = row_to_json(row(number, supports_sms, array[row(1, auth_token, salt, signaling_key, gcm_id, apn_id)::device_t])::account_t)
DROP type account_t;
DROP type device_t;