Files
prop-ai-hr/backend/script/sql/update/aihr_20260809_knowledge_glossary_mysql8.sql
T

29 lines
1.4 KiB
SQL

-- Human-governed tenant glossary used only for retrieval query expansion.
-- Definitions remain review metadata and are never injected into model prompts as facts.
CREATE TABLE IF NOT EXISTS `aihr_knowledge_glossary_term` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(20) NOT NULL,
`term` varchar(120) NOT NULL,
`canonical_term` varchar(120) NOT NULL,
`aliases_json` json DEFAULT NULL,
`definition` varchar(2000) DEFAULT NULL,
`applicable_region` varchar(100) DEFAULT NULL,
`applicable_project` varchar(100) DEFAULT NULL,
`applicable_role` varchar(100) DEFAULT NULL,
`version_no` int NOT NULL,
`status` varchar(20) NOT NULL DEFAULT 'DRAFT',
`reviewer_id` bigint DEFAULT NULL,
`review_reason` varchar(500) DEFAULT NULL,
`reviewed_time` datetime DEFAULT NULL,
`create_by` bigint DEFAULT NULL,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_aihr_glossary_version` (`tenant_id`, `term`, `version_no`),
KEY `idx_aihr_glossary_active` (`tenant_id`, `status`, `term`),
CONSTRAINT `ck_aihr_glossary_status`
CHECK (`status` IN ('DRAFT','ACTIVE','REJECTED','DEPRECATED'))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='Immutable revisions of human-governed retrieval glossary terms';