94 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
-- 创建知识库分类表
 | 
						||
CREATE TABLE `yz_knowledge_category` (
 | 
						||
  `category_id` INT NOT NULL AUTO_INCREMENT COMMENT '分类ID',
 | 
						||
  `category_name` VARCHAR(100) NOT NULL COMMENT '分类名称',
 | 
						||
  `category_desc` VARCHAR(500) DEFAULT NULL COMMENT '分类描述',
 | 
						||
  `parent_id` INT DEFAULT 0 COMMENT '父分类ID,0表示顶级分类',
 | 
						||
  `sort_order` INT DEFAULT 0 COMMENT '排序序号',
 | 
						||
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 | 
						||
  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
 | 
						||
  PRIMARY KEY (`category_id`),
 | 
						||
  KEY `idx_parent_id` (`parent_id`),
 | 
						||
  KEY `idx_sort_order` (`sort_order`)
 | 
						||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识库分类表';
 | 
						||
 | 
						||
-- 创建知识库标签表
 | 
						||
CREATE TABLE `yz_knowledge_tags` (
 | 
						||
  `tag_id` INT NOT NULL AUTO_INCREMENT COMMENT '标签ID',
 | 
						||
  `tag_name` VARCHAR(50) NOT NULL COMMENT '标签名称',
 | 
						||
  `tag_color` VARCHAR(20) DEFAULT NULL COMMENT '标签颜色',
 | 
						||
  `usage_count` INT DEFAULT 0 COMMENT '使用次数',
 | 
						||
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 | 
						||
  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
 | 
						||
  PRIMARY KEY (`tag_id`),
 | 
						||
  UNIQUE KEY `uk_tag_name` (`tag_name`),
 | 
						||
  KEY `idx_usage_count` (`usage_count`)
 | 
						||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识库标签表';
 | 
						||
 | 
						||
-- 创建知识库内容表
 | 
						||
CREATE TABLE `yz_knowledge` (
 | 
						||
  `knowledge_id` INT NOT NULL AUTO_INCREMENT COMMENT '知识ID',
 | 
						||
  `title` VARCHAR(200) NOT NULL COMMENT '标题',
 | 
						||
  `category_id` INT DEFAULT NULL COMMENT '分类ID',
 | 
						||
  `tags` TEXT COMMENT '标签JSON数组,存储标签名称',
 | 
						||
  `author` VARCHAR(50) NOT NULL COMMENT '作者',
 | 
						||
  `content` LONGTEXT COMMENT '正文内容(富文本)',
 | 
						||
  `summary` VARCHAR(500) DEFAULT NULL COMMENT '摘要',
 | 
						||
  `cover_url` VARCHAR(500) DEFAULT NULL COMMENT '封面图片URL',
 | 
						||
  `status` TINYINT DEFAULT 0 COMMENT '状态:0-草稿,1-已发布,2-已归档',
 | 
						||
  `view_count` INT DEFAULT 0 COMMENT '查看次数',
 | 
						||
  `like_count` INT DEFAULT 0 COMMENT '点赞数',
 | 
						||
  `is_recommend` TINYINT DEFAULT 0 COMMENT '是否推荐:0-否,1-是',
 | 
						||
  `is_top` TINYINT DEFAULT 0 COMMENT '是否置顶:0-否,1-是',
 | 
						||
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 | 
						||
  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
 | 
						||
  `create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建人',
 | 
						||
  `update_by` VARCHAR(50) DEFAULT NULL COMMENT '更新人',
 | 
						||
  PRIMARY KEY (`knowledge_id`),
 | 
						||
  KEY `idx_category_id` (`category_id`),
 | 
						||
  KEY `idx_author` (`author`),
 | 
						||
  KEY `idx_status` (`status`),
 | 
						||
  KEY `idx_create_time` (`create_time`),
 | 
						||
  KEY `idx_view_count` (`view_count`),
 | 
						||
  KEY `idx_is_recommend` (`is_recommend`),
 | 
						||
  KEY `idx_is_top` (`is_top`)
 | 
						||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识库内容表';
 | 
						||
 | 
						||
-- 创建知识库收藏表
 | 
						||
CREATE TABLE `yz_knowledge_favorites` (
 | 
						||
  `favorite_id` INT NOT NULL AUTO_INCREMENT COMMENT '收藏ID',
 | 
						||
  `knowledge_id` INT NOT NULL COMMENT '知识ID',
 | 
						||
  `user_id` INT NOT NULL COMMENT '用户ID',
 | 
						||
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 | 
						||
  PRIMARY KEY (`favorite_id`),
 | 
						||
  UNIQUE KEY `uk_knowledge_user` (`knowledge_id`, `user_id`),
 | 
						||
  KEY `idx_user_id` (`user_id`),
 | 
						||
  CONSTRAINT `yz_fk_fav_knowledge` FOREIGN KEY (`knowledge_id`) REFERENCES `yz_knowledge` (`knowledge_id`) ON DELETE CASCADE,
 | 
						||
  CONSTRAINT `yz_fk_fav_user` FOREIGN KEY (`user_id`) REFERENCES `yz_users` (`id`) ON DELETE CASCADE
 | 
						||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识库收藏表';
 | 
						||
 | 
						||
-- 插入默认分类
 | 
						||
INSERT INTO `yz_knowledge_category` (`category_name`, `category_desc`, `parent_id`, `sort_order`) VALUES
 | 
						||
('技术文档', '技术相关的文档资料', 0, 1),
 | 
						||
('产品手册', '产品使用手册和说明', 0, 2),
 | 
						||
('用户指南', '用户操作指南和教程', 0, 3),
 | 
						||
('常见问题', '常见问题解答', 0, 4),
 | 
						||
('API文档', 'API接口文档', 0, 5),
 | 
						||
('Vue', 'Vue框架相关', 1, 101),
 | 
						||
('React', 'React框架相关', 1, 102),
 | 
						||
('Go', 'Go语言相关', 1, 103);
 | 
						||
 | 
						||
-- 插入默认标签
 | 
						||
INSERT INTO `yz_knowledge_tags` (`tag_name`, `tag_color`, `usage_count`) VALUES
 | 
						||
('Vue', '#4CAF50', 0),
 | 
						||
('React', '#42A5F5', 0),
 | 
						||
('TypeScript', '#3178C6', 0),
 | 
						||
('Element Plus', '#409EFF', 0),
 | 
						||
('Vue Router', '#4FC08D', 0),
 | 
						||
('Pinia', '#FFD54F', 0),
 | 
						||
('Go', '#00ADD8', 0),
 | 
						||
('Python', '#3776AB', 0);
 | 
						||
 | 
						||
--插入默认知识
 | 
						||
INSERT INTO `yz_knowledge` (`title`, `category_id`, `tags`, `author`, `content`, `summary`, `cover_url`, `status`, `view_count`, `like_count`, `is_recommend`, `is_top`, `create_time`, `update_time`, `create_by`, `update_by`) VALUES
 | 
						||
('Vue', 1, 'Vue', 'admin', 'Vue is a progressive framework for building user interfaces.', 'Vue is a progressive framework for building user interfaces.', 'https://vuejs.org/images/logo.png', 1, 0, 0, 0, 0, '2021-01-01 00:00:00', '2021-01-01 00:00:00', 'admin', 'admin'); |