SET AUTOddl OFF; CREATE TABLE releases ( version FLOAT NOT NULL PRIMARY KEY, installed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, installer_name VARCHAR(255) NOT NULL, installer_email VARCHAR(255) NOT NULL ); COMMENT ON TABLE releases IS 'Sqitch registry releases.'; COMMENT ON COLUMN releases.version IS 'Version of the Sqitch registry.'; COMMENT ON COLUMN releases.installed_at IS 'Date the registry release was installed.'; COMMENT ON COLUMN releases.installer_name IS 'Name of the user who installed the registry release.'; COMMENT ON COLUMN releases.installer_email IS 'Email address of the user who installed the registry release.'; -- Add the script_hash column to the changes table. ALTER TABLE changes ADD script_hash VARCHAR(40) UNIQUE; COMMIT; UPDATE changes SET script_hash = change_id; COMMENT ON COLUMN changes.script_hash IS 'Deploy script SHA-1 hash.'; -- Allow "merge" events. SET TERM ^; EXECUTE BLOCK AS DECLARE trig VARCHAR(64); BEGIN SELECT TRIM(cc.rdb$constraint_name) FROM rdb$relation_constraints rc JOIN rdb$check_constraints cc ON rc.rdb$constraint_name = cc.rdb$constraint_name JOIN rdb$triggers trg ON cc.rdb$trigger_name = trg.rdb$trigger_name WHERE rc.rdb$relation_name = 'EVENTS' AND rc.rdb$constraint_type = 'CHECK' AND trg.rdb$trigger_type = 1 INTO trig; EXECUTE STATEMENT 'ALTER TABLE EVENTS DROP CONSTRAINT ' || trig; END^ SET TERM ;^ COMMIT; ALTER TABLE events ADD CONSTRAINT check_event_type CHECK ( event IN ('deploy', 'revert', 'fail', 'merge') ); COMMIT;