blob: 66f5a7ec85de9798e3701f6664f50893e8c060e7 [file] [log] [blame]
-- Upgrade: schema_version 16 to 17 (PostgreSQL)
--
CREATE LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION
check_schema_version (exp INT)
RETURNS VARCHAR(255)
AS $$
DECLARE
l_act INT;
BEGIN
SELECT version_nbr INTO l_act
FROM schema_version;
IF l_act <> exp
THEN
RAISE EXCEPTION 'expected schema %, found %', exp, l_act;
END IF;
RETURN 'OK';
END;
$$ LANGUAGE plpgsql;
ALTER TABLE system_config DROP max_session_age;
BEGIN;
SELECT check_schema_version(16);
ALTER TABLE system_config DROP xsrf_private_key;
ALTER TABLE system_config RENAME account_private_key TO register_email_private_key;
ALTER TABLE changes ADD change_key VARCHAR(60);
UPDATE changes SET change_key = 'I' || (SELECT p.revision
FROM patch_sets p
WHERE p.change_id = changes.change_id
AND p.patch_set_id = 1);
CREATE INDEX changes_key
ON changes (change_key);
ALTER TABLE changes ALTER COLUMN change_key SET NOT NULL;
UPDATE schema_version SET version_nbr = 17;
COMMIT;