Files
MikrotikManager/backend/drizzle/0036_diagnostic_cancellations.sql
T

15 lines
852 B
PL/PgSQL

-- Durable stop requests for opt-in diagnostics, not configuration rollback.
BEGIN;
CREATE TABLE mcp_diagnostic_cancellations (
operation_id uuid PRIMARY KEY REFERENCES mcp_operations(id),
connection_id uuid NOT NULL REFERENCES mcp_connections(id),
actor_id text NOT NULL CHECK (length(actor_id) BETWEEN 1 AND 200),
created_at timestamptz NOT NULL DEFAULT clock_timestamp()
);
CREATE FUNCTION mcp_diagnostic_cancellation_immutable() RETURNS trigger LANGUAGE plpgsql AS $$
BEGIN RAISE EXCEPTION 'diagnostic cancellation request is immutable'; END $$;
CREATE TRIGGER mcp_diagnostic_cancellation_immutable BEFORE UPDATE OR DELETE ON mcp_diagnostic_cancellations
FOR EACH ROW EXECUTE FUNCTION mcp_diagnostic_cancellation_immutable();
INSERT INTO schema_migrations(id) VALUES ('0036_diagnostic_cancellations') ON CONFLICT (id) DO NOTHING;
COMMIT;