from yoyo import step __depends__ = {"20240211_00_yto88-discord-channel-table-and-discord-posts-revisions"} steps = [ step(""" CREATE TYPE unapproved_link_status AS ENUM ('pending', 'approved', 'rejected'); CREATE TABLE unapproved_link_requests ( id int PRIMARY KEY GENERATED ALWAYS AS IDENTITY, from_service text NOT NULL, from_id text NOT NULL, to_service text NOT NULL, to_id text NOT NULL, reason text, requester_id int NOT NULL REFERENCES account (id), status unapproved_link_status NOT NULL DEFAULT 'pending', FOREIGN KEY (from_service, from_id) REFERENCES lookup (service, id), FOREIGN KEY (to_service, to_id) REFERENCES lookup (service, id), UNIQUE (from_service, from_id, to_service, to_id) ); CREATE INDEX unapproved_link_requests_status_id_idx ON unapproved_link_requests (status, id); """), step(""" UPDATE lookup SET relation_id = nextval('lookup_relation_id_seq'); CREATE INDEX lookup_public_id_idx ON lookup (public_id); CREATE INDEX lookup_relation_id_idx ON lookup (relation_id); """) ]