Files
Agent-System/deploy/postgres/goose/00043_2026-09-15-projection-outcome.sql
T

18 lines
617 B
SQL

-- +goose Up
-- E1C: unique projection apply per envelope; no-replace is enforced in SQL + consumer.
CREATE TABLE IF NOT EXISTS event_projection_outcomes (
source_event_id TEXT PRIMARY KEY,
doc_id TEXT NOT NULL,
version_no INT NOT NULL,
snapshot_id BIGINT NOT NULL DEFAULT 0,
applied BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE UNIQUE INDEX IF NOT EXISTS uq_projection_doc_version
ON event_projection_outcomes (doc_id, version_no);
-- +goose Down
DROP INDEX IF EXISTS uq_projection_doc_version;
DROP TABLE IF EXISTS event_projection_outcomes;