dify/knowledge-fs/packages/database/migrations/0047_parse_artifact_checkpoints.postgres.sql

26 lines
1.1 KiB
SQL

-- Knowledge Platform schema migration
-- Migration id: 0047_parse_artifact_checkpoints
-- Dialect: postgres
-- Persists raw parser output across compilation retries without exposing it as canonical content.
CREATE TABLE IF NOT EXISTS "parse_artifact_checkpoints" (
"document_asset_id" UUID NOT NULL,
"version" INTEGER NOT NULL,
"policy_fingerprint" VARCHAR(64) NOT NULL,
"artifact" JSONB NOT NULL,
"created_at" TIMESTAMPTZ NOT NULL,
"updated_at" TIMESTAMPTZ NOT NULL,
CONSTRAINT "parse_artifact_checkpoints_asset_fk"
FOREIGN KEY ("document_asset_id")
REFERENCES "document_assets" ("id") ON DELETE CASCADE,
CONSTRAINT "parse_artifact_checkpoints_version_ck"
CHECK ("version" >= 1),
CONSTRAINT "parse_artifact_checkpoints_policy_fingerprint_ck"
CHECK ("policy_fingerprint" ~ '^[a-f0-9]{64}$'),
CONSTRAINT "parse_artifact_checkpoints_artifact_ck"
CHECK (jsonb_typeof("artifact") = 'object')
);
CREATE UNIQUE INDEX IF NOT EXISTS "parse_artifact_checkpoints_asset_version_uq"
ON "parse_artifact_checkpoints" ("document_asset_id", "version");