Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTableResource.sql
2025-10-15 10:39:51 +08:00

173 lines
9.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

use school_news;
-- 资源/新闻表
DROP TABLE IF EXISTS `tb_resource`;
CREATE TABLE `tb_resource` (
`id` VARCHAR(50) NOT NULL COMMENT '资源ID',
`title` VARCHAR(255) NOT NULL COMMENT '资源标题',
`content` LONGTEXT COMMENT '资源内容',
`summary` VARCHAR(500) DEFAULT NULL COMMENT '资源简介',
`cover_image` VARCHAR(255) DEFAULT NULL COMMENT '封面图片',
`category_id` VARCHAR(50) DEFAULT NULL COMMENT '分类ID',
`author` VARCHAR(100) DEFAULT NULL COMMENT '作者',
`source` VARCHAR(255) DEFAULT NULL COMMENT '来源',
`source_url` VARCHAR(500) DEFAULT NULL COMMENT '来源URL',
`view_count` INT(11) DEFAULT 0 COMMENT '浏览次数',
`like_count` INT(11) DEFAULT 0 COMMENT '点赞次数',
`collect_count` INT(11) DEFAULT 0 COMMENT '收藏次数',
`status` INT(4) DEFAULT 0 COMMENT '状态0草稿 1已发布 2下架',
`is_recommend` TINYINT(1) DEFAULT 0 COMMENT '是否推荐',
`is_banner` TINYINT(1) DEFAULT 0 COMMENT '是否轮播',
`publish_time` TIMESTAMP NULL DEFAULT NULL COMMENT '发布时间',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_category` (`category_id`),
KEY `idx_status` (`status`),
KEY `idx_publish_time` (`publish_time`),
KEY `idx_view_count` (`view_count`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源表';
-- 资源分类表
DROP TABLE IF EXISTS `tb_resource_category`;
CREATE TABLE `tb_resource_category` (
`id` VARCHAR(50) NOT NULL COMMENT '分类ID',
`category_id` VARCHAR(50) NOT NULL COMMENT '分类唯一标识',
`name` VARCHAR(100) NOT NULL COMMENT '分类名称',
`parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父分类ID',
`description` VARCHAR(255) DEFAULT NULL COMMENT '分类描述',
`icon` VARCHAR(100) DEFAULT NULL COMMENT '分类图标',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_category_id` (`category_id`),
KEY `idx_parent` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源分类表';
-- 插入默认分类(党史学习、领导讲话、政策解读、红色经典、专题报告、思政案例)
INSERT INTO `tb_resource_category` (id, category_id, name, description, order_num, creator, create_time) VALUES
('1', 'party_history', '党史学习', '党史学习相关资源', 1, '1', now()),
('2', 'leader_speech', '领导讲话', '领导讲话相关资源', 2, '1', now()),
('3', 'policy_interpretation', '政策解读', '政策解读相关资源', 3, '1', now()),
('4', 'red_classic', '红色经典', '红色经典相关资源', 4, '1', now()),
('5', 'special_report', '专题报告', '专题报告相关资源', 5, '1', now()),
('6', 'ideological_case', '思政案例', '思政案例相关资源', 6, '1', now());
-- Banner管理表
DROP TABLE IF EXISTS `tb_banner`;
CREATE TABLE `tb_banner` (
`id` VARCHAR(50) NOT NULL COMMENT 'Banner ID',
`title` VARCHAR(255) NOT NULL COMMENT 'Banner标题',
`image_url` VARCHAR(500) NOT NULL COMMENT 'Banner图片URL',
`link_type` INT(4) DEFAULT 1 COMMENT '链接类型1资源 2课程 3外部链接',
`link_id` VARCHAR(50) DEFAULT NULL COMMENT '关联ID资源ID或课程ID',
`link_url` VARCHAR(500) DEFAULT NULL COMMENT '外部链接URL',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`status` INT(4) DEFAULT 1 COMMENT '状态0禁用 1启用',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_order` (`order_num`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Banner表';
-- 资源推荐表
DROP TABLE IF EXISTS `tb_resource_recommend`;
CREATE TABLE `tb_resource_recommend` (
`id` VARCHAR(50) NOT NULL COMMENT '推荐ID',
`resource_id` VARCHAR(50) NOT NULL COMMENT '资源ID',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`reason` VARCHAR(255) DEFAULT NULL COMMENT '推荐理由',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_resource` (`resource_id`),
KEY `idx_order` (`order_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源推荐表';
-- 标签表
DROP TABLE IF EXISTS `tb_tag`;
CREATE TABLE `tb_tag` (
`id` VARCHAR(50) NOT NULL COMMENT '标签ID',
`tag_id` VARCHAR(50) NOT NULL COMMENT '标签唯一标识',
`name` VARCHAR(100) NOT NULL COMMENT '标签名称',
`color` VARCHAR(20) DEFAULT NULL COMMENT '标签颜色',
`description` VARCHAR(255) DEFAULT NULL COMMENT '标签描述',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tag_id` (`tag_id`),
UNIQUE KEY `uk_tag_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='标签表';
-- 资源标签关联表
DROP TABLE IF EXISTS `tb_resource_tag`;
CREATE TABLE `tb_resource_tag` (
`id` VARCHAR(50) NOT NULL COMMENT '关联ID',
`resource_id` VARCHAR(50) NOT NULL COMMENT '资源ID',
`tag_id` VARCHAR(50) NOT NULL COMMENT '标签ID',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_resource_tag` (`resource_id`, `tag_id`),
KEY `idx_resource` (`resource_id`),
KEY `idx_tag` (`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源标签关联表';
-- 数据采集配置表
DROP TABLE IF EXISTS `tb_data_collection_config`;
CREATE TABLE `tb_data_collection_config` (
`id` VARCHAR(50) NOT NULL COMMENT '配置ID',
`name` VARCHAR(100) NOT NULL COMMENT '配置名称',
`source_url` VARCHAR(500) NOT NULL COMMENT '采集源URL',
`source_type` VARCHAR(50) DEFAULT NULL COMMENT '采集源类型',
`frequency` VARCHAR(20) DEFAULT 'daily' COMMENT '采集频率daily每天 weekly每周',
`category_id` VARCHAR(50) DEFAULT NULL COMMENT '默认分类ID',
`status` INT(4) DEFAULT 1 COMMENT '状态0禁用 1启用',
`last_collect_time` TIMESTAMP NULL DEFAULT NULL COMMENT '最后采集时间',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='数据采集配置表';
-- 数据采集记录表
DROP TABLE IF EXISTS `tb_data_collection_log`;
CREATE TABLE `tb_data_collection_log` (
`id` VARCHAR(50) NOT NULL COMMENT '记录ID',
`config_id` VARCHAR(50) NOT NULL COMMENT '配置ID',
`collect_count` INT(11) DEFAULT 0 COMMENT '采集数量',
`success_count` INT(11) DEFAULT 0 COMMENT '成功数量',
`fail_count` INT(11) DEFAULT 0 COMMENT '失败数量',
`status` INT(4) DEFAULT 1 COMMENT '状态0失败 1成功 2部分成功',
`message` TEXT COMMENT '采集消息',
`collect_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '采集时间',
PRIMARY KEY (`id`),
KEY `idx_config` (`config_id`),
KEY `idx_collect_time` (`collect_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='数据采集记录表';