-- +goose Up -- Allow end_reason = 'aborted': a game whose journal can no longer be reconstructed (a -- recorded move became illegal under tightened rules) is closed as a draw rather than left -- unopenable. See engine.EndAborted and Service.voidGame. SET search_path = backend, pg_catalog; ALTER TABLE games DROP CONSTRAINT games_end_reason_chk; ALTER TABLE games ADD CONSTRAINT games_end_reason_chk CHECK ( end_reason IS NULL OR end_reason IN ('out_of_tiles', 'scoreless', 'resign', 'timeout', 'aborted') ); -- +goose Down SET search_path = backend, pg_catalog; ALTER TABLE games DROP CONSTRAINT games_end_reason_chk; ALTER TABLE games ADD CONSTRAINT games_end_reason_chk CHECK ( end_reason IS NULL OR end_reason IN ('out_of_tiles', 'scoreless', 'resign', 'timeout') );