feat: add prisma migrations for p1/digest models, hybrid AI, outbox, and org layer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 15:40:20 +05:30
parent 4f1df96b34
commit 978f7effc0
4 changed files with 178 additions and 0 deletions
@@ -0,0 +1,29 @@
-- CreateTable
CREATE TABLE "OutboxEvent" (
"id" TEXT NOT NULL,
"type" TEXT NOT NULL,
"payload" JSONB NOT NULL,
"attempts" INTEGER NOT NULL DEFAULT 0,
"lastError" TEXT,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "OutboxEvent_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "OutboxEvent_attempts_createdAt_idx" ON "OutboxEvent"("attempts", "createdAt");
-- LISTEN/NOTIFY trigger: fires pg_notify('outbox_event', NEW.id) after each INSERT
-- The worker holds an open pg.Client with LISTEN outbox_event to receive these events.
-- AFTER INSERT ensures NOTIFY fires only after the transaction commits.
CREATE OR REPLACE FUNCTION notify_outbox_event()
RETURNS TRIGGER AS $$
BEGIN
PERFORM pg_notify('outbox_event', NEW.id);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER outbox_event_notify
AFTER INSERT ON "OutboxEvent"
FOR EACH ROW EXECUTE FUNCTION notify_outbox_event();