DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'krona_staff_app') THEN RAISE EXCEPTION 'Required database role krona_staff_app does not exist. Run scripts/create-app-role.mjs before migrations.'; END IF; END $$; GRANT USAGE ON SCHEMA public TO krona_staff_app; GRANT SELECT, INSERT, UPDATE, DELETE ON staff_outbox, staff_inbox, staff_idempotency_keys TO krona_staff_app; GRANT SELECT, INSERT ON staff_audit_log TO krona_staff_app; REVOKE UPDATE, DELETE, TRUNCATE ON staff_audit_log FROM krona_staff_app; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO krona_staff_app; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO krona_staff_app;