ALTER TABLE public.caveat RENAME TO prohibition; ALTER TABLE public.prohibition RENAME CONSTRAINT uniq__caveat TO uniq__prohibition; ALTER INDEX idx__public__caveat__user_id RENAME TO idx__public__prohibition__user_id; ALTER INDEX idx__public__caveat__value RENAME TO idx__public__prohibition__value; ALTER INDEX idx__public__caveat__created_ts RENAME TO idx__public__prohibition__created_ts; ALTER INDEX idx__public__caveat__updated_ts RENAME TO idx__public__prohibition__updated_ts; ALTER TABLE public.agreement_caveat RENAME TO agreement_prohibition; ALTER TABLE public.agreement_prohibition RENAME CONSTRAINT uniq__agreement_caveat TO uniq__agreement_prohibition; ALTER TABLE public.agreement_prohibition RENAME COLUMN caveat_id TO prohibition_id; ALTER TABLE public.agreement_prohibition DROP CONSTRAINT IF EXISTS agreement_caveat_caveat_id_fkey, ADD CONSTRAINT agreement_prohibition_prohibition_id_fkey FOREIGN KEY (prohibition_id) REFERENCES public.prohibition(id); ALTER INDEX idx__public__agreement_caveat__user_id RENAME TO idx__public__agreement_prohibition__user_id; ALTER INDEX idx__public__agreement_caveat__agreement_id RENAME TO idx__public__agreement_prohibition__agreement_id; ALTER INDEX idx__public__agreement_caveat__caveat_id RENAME TO idx__public__agreement_prohibition__prohibition_id; ALTER INDEX idx__public__agreement_caveat__created_ts RENAME TO idx__public__agreement_prohibition__created_ts; ALTER INDEX idx__public__agreement_caveat__updated_ts RENAME TO idx__public__agreement_prohibition__updated_ts; ALTER TABLE agreement_content ADD COLUMN key VARCHAR(255) UNIQUE; CREATE INDEX idx__agreement_content__key ON public.agreement_content (key); ALTER TABLE agreement_content ADD COLUMN agreement_uuid UUID UNIQUE NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'; ALTER TABLE purpose ALTER COLUMN user_id DROP NOT NULL; ALTER TABLE prohibition ALTER COLUMN user_id DROP NOT NULL; ALTER TABLE role ALTER COLUMN user_id DROP NOT NULL; ALTER TABLE agreement_purpose ALTER COLUMN user_id DROP NOT NULL; ALTER TABLE agreement_prohibition ALTER COLUMN user_id DROP NOT NULL; ALTER TABLE agreement_role ALTER COLUMN user_id DROP NOT NULL; ALTER TABLE public.purpose DROP CONSTRAINT uniq__purpose; CREATE UNIQUE INDEX uniq__purpose ON public.purpose (COALESCE(user_id, -1), value); ALTER TABLE public.prohibition DROP CONSTRAINT uniq__prohibition; CREATE UNIQUE INDEX uniq__prohibition ON public.prohibition (COALESCE(user_id, -1), value); ALTER TABLE public.role DROP CONSTRAINT uniq__role; CREATE UNIQUE INDEX uniq__role ON public.role (COALESCE(user_id, -1), value); ALTER TABLE public.agreement_purpose DROP CONSTRAINT uniq__agreement_purpose; CREATE UNIQUE INDEX uniq__agreement_purpose ON public.agreement_purpose (COALESCE(user_id, -1), agreement_id, purpose_id); ALTER TABLE public.agreement_prohibition DROP CONSTRAINT uniq__agreement_prohibition; CREATE UNIQUE INDEX uniq__agreement_prohibition ON public.agreement_prohibition (COALESCE(user_id, -1), agreement_id, prohibition_id); ALTER TABLE public.agreement_role DROP CONSTRAINT uniq__agreement_role; CREATE UNIQUE INDEX uniq__agreement_role ON public.agreement_role (COALESCE(user_id, -1), agreement_id, role_id); ALTER TABLE public.agreement ADD COLUMN context VARCHAR(255) DEFAULT 'https://protocol.jlinc.org/context/jlinc-v7.jsonld';