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

26 lines
1.1 KiB
SQL

-- Knowledge Platform schema migration
-- Migration id: 0047_parse_artifact_checkpoints
-- Dialect: tidb
-- Persists raw parser output across compilation retries without exposing it as canonical content.
CREATE TABLE IF NOT EXISTS `parse_artifact_checkpoints` (
`document_asset_id` CHAR(36) NOT NULL,
`version` INT NOT NULL,
`policy_fingerprint` VARCHAR(64) NOT NULL,
`artifact` JSON NOT NULL,
`created_at` DATETIME(3) NOT NULL,
`updated_at` DATETIME(3) 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` REGEXP '^[a-f0-9]{64}$'),
CONSTRAINT `parse_artifact_checkpoints_artifact_ck`
CHECK (JSON_TYPE(`artifact`) = 'OBJECT')
);
CREATE UNIQUE INDEX IF NOT EXISTS `parse_artifact_checkpoints_asset_version_uq`
ON `parse_artifact_checkpoints` (`document_asset_id`, `version`);