29 lines
1.4 KiB
SQL
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';
|