BEGIN; ALTER TABLE sharing_grant ADD COLUMN access_token_digest char(64); ALTER TABLE sharing_grant ADD CONSTRAINT sharing_grant_token_mode_check CHECK (login_required OR access_token_digest IS NOT NULL); ALTER TABLE sharing_grant ADD CONSTRAINT sharing_grant_edit_login_check CHECK (permission<>'EDIT' OR login_required); CREATE UNIQUE INDEX sharing_grant_token_digest_key ON sharing_grant(access_token_digest) WHERE access_token_digest IS NOT NULL; COMMIT;