Ctrl K
ComunidadGuías…

drizzle/0059_delivery_health_manual.sql

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
ALTER TABLE "delivery_events" ADD COLUMN IF NOT EXISTS "monitor_id" text;
ALTER TABLE "delivery_events" ADD COLUMN IF NOT EXISTS "dead_lettered_at" timestamp with time zone;

DO $$
BEGIN
  IF NOT EXISTS (
    SELECT 1
    FROM pg_constraint
    WHERE conname = 'delivery_events_monitor_id_monitors_id_fk'
  ) THEN
    ALTER TABLE "delivery_events"
      ADD CONSTRAINT "delivery_events_monitor_id_monitors_id_fk"
      FOREIGN KEY ("monitor_id") REFERENCES "public"."monitors"("id")
      ON DELETE SET NULL ON UPDATE NO ACTION;
  END IF;
END $$;

UPDATE "delivery_events"
SET "dead_lettered_at" = COALESCE("last_attempt_at", "created_at")
WHERE "status" = 'failed' AND "dead_lettered_at" IS NULL;

CREATE INDEX IF NOT EXISTS "delivery_events_queue_due_idx"
  ON "delivery_events" USING btree ("status", "next_retry_at", "claim_expires_at", "created_at");