mirror of
https://github.com/langgenius/dify.git
synced 2026-09-02 22:36:15 +08:00
45 lines
2.0 KiB
SQL
45 lines
2.0 KiB
SQL
-- Knowledge Platform schema migration
|
|
-- Migration id: 0043_semantic_generation_receipts
|
|
-- Dialect: postgres
|
|
|
|
CREATE TABLE IF NOT EXISTS "knowledge_node_generation_receipts" (
|
|
"knowledge_space_id" UUID NOT NULL,
|
|
"publication_generation_id" UUID NOT NULL,
|
|
"parse_artifact_id" UUID NOT NULL,
|
|
"document_asset_id" UUID NOT NULL,
|
|
"artifact_hash" VARCHAR(64) NOT NULL,
|
|
"document_chunk_count" INTEGER NOT NULL,
|
|
"stored_node_count" INTEGER NOT NULL,
|
|
"request_fingerprint" VARCHAR(71) NOT NULL,
|
|
"response_fingerprint" VARCHAR(71) NOT NULL,
|
|
"prompt_response_fingerprint" VARCHAR(71) NOT NULL,
|
|
"receipt" JSONB NOT NULL,
|
|
PRIMARY KEY ("knowledge_space_id", "publication_generation_id", "parse_artifact_id"),
|
|
CONSTRAINT "knowledge_node_generation_receipts_counts_ck" CHECK (
|
|
"document_chunk_count" >= 0 AND "stored_node_count" >= 0
|
|
AND "stored_node_count" <= "document_chunk_count"
|
|
),
|
|
CONSTRAINT "knowledge_node_generation_receipts_hashes_ck" CHECK (
|
|
"artifact_hash" ~ '^[a-f0-9]{64}$'
|
|
AND "request_fingerprint" ~ '^sha256:[a-f0-9]{64}$'
|
|
AND "response_fingerprint" ~ '^sha256:[a-f0-9]{64}$'
|
|
AND "prompt_response_fingerprint" ~ '^sha256:[a-f0-9]{64}$'
|
|
),
|
|
CONSTRAINT "knowledge_node_generation_receipts_json_ck"
|
|
CHECK (jsonb_typeof("receipt") = 'object'),
|
|
CONSTRAINT "knowledge_node_generation_receipts_bytes_ck"
|
|
CHECK (octet_length("receipt"::text) <= 8388608),
|
|
CONSTRAINT "knowledge_node_generation_receipts_pub_gen_nonzero_ck"
|
|
CHECK ("publication_generation_id" <> '00000000-0000-0000-0000-000000000000'::uuid),
|
|
FOREIGN KEY ("knowledge_space_id")
|
|
REFERENCES "knowledge_spaces" ("id") ON DELETE CASCADE,
|
|
FOREIGN KEY ("document_asset_id")
|
|
REFERENCES "document_assets" ("id") ON DELETE CASCADE,
|
|
FOREIGN KEY ("parse_artifact_id")
|
|
REFERENCES "parse_artifacts" ("id") ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS "knowledge_node_generation_receipts_document_idx"
|
|
ON "knowledge_node_generation_receipts"
|
|
("knowledge_space_id", "document_asset_id", "publication_generation_id", "parse_artifact_id");
|