Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTableCrontab.sql
2025-11-19 15:11:30 +08:00

174 lines
10 KiB
SQL
Raw Permalink 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.

-- ====================================================
-- 定时任务表
-- ====================================================
DROP TABLE IF EXISTS `tb_crontab_task`;
CREATE TABLE `tb_crontab_task` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`task_id` VARCHAR(64) NOT NULL COMMENT '任务ID',
`task_name` VARCHAR(100) NOT NULL COMMENT '任务名称',
`task_group` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务分组',
`meta_id` VARCHAR(64) NOT NULL COMMENT '任务元数据ID',
`default_recipient` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否使用默认接收人0:否 1:是)',
`bean_name` VARCHAR(100) NOT NULL COMMENT 'Bean名称',
`method_name` VARCHAR(100) NOT NULL COMMENT '方法名称',
`method_params` VARCHAR(500) DEFAULT NULL COMMENT '方法参数',
`cron_expression` VARCHAR(100) NOT NULL COMMENT 'Cron表达式',
`status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '任务状态0:暂停 1:运行中)',
`description` VARCHAR(500) DEFAULT NULL COMMENT '任务描述',
`concurrent` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否允许并发执行0:否 1:是)',
`misfire_policy` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '错过执行策略1:立即执行 2:执行一次 3:放弃执行)',
`creator` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0:否 1:是)',
PRIMARY KEY (`id`),
KEY `idx_task_name` (`task_name`),
KEY `idx_bean_name` (`bean_name`),
KEY `idx_status` (`status`),
KEY `idx_deleted` (`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务配置表';
-- ====================================================
-- 定时任务执行日志表
-- ====================================================
DROP TABLE IF EXISTS `tb_crontab_log`;
CREATE TABLE `tb_crontab_log` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`task_id` VARCHAR(64) NOT NULL COMMENT '任务ID',
`task_name` VARCHAR(100) NOT NULL COMMENT '任务名称',
`task_group` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务分组',
`bean_name` VARCHAR(100) NOT NULL COMMENT 'Bean名称',
`method_name` VARCHAR(100) NOT NULL COMMENT '方法名称',
`method_params` VARCHAR(500) DEFAULT NULL COMMENT '方法参数',
`execute_status` TINYINT(1) NOT NULL COMMENT '执行状态0:失败 1:成功)',
`execute_message` TEXT DEFAULT NULL COMMENT '执行结果信息',
`exception_info` TEXT DEFAULT NULL COMMENT '异常信息',
`start_time` DATETIME NOT NULL COMMENT '开始时间',
`end_time` DATETIME DEFAULT NULL COMMENT '结束时间',
`execute_duration` INT DEFAULT NULL COMMENT '执行时长(毫秒)',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0:否 1:是)',
PRIMARY KEY (`id`),
KEY `idx_task_id` (`task_id`),
KEY `idx_task_name` (`task_name`),
KEY `idx_execute_status` (`execute_status`),
KEY `idx_start_time` (`start_time`),
KEY `idx_deleted` (`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务执行日志表';
-- ====================================================
-- 数据采集项表(定时任务采集结果存储)
-- ====================================================
DROP TABLE IF EXISTS `tb_data_collection_item`;
CREATE TABLE `tb_data_collection_item` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`task_id` VARCHAR(64) NOT NULL COMMENT '关联任务ID',
`log_id` VARCHAR(64) NOT NULL COMMENT '关联执行日志ID',
`title` VARCHAR(255) DEFAULT NULL COMMENT '文章标题',
`content` LONGTEXT DEFAULT NULL COMMENT '文章内容HTML',
`summary` VARCHAR(500) DEFAULT NULL COMMENT '文章摘要',
`source` VARCHAR(255) DEFAULT NULL COMMENT '来源(如 人民日报)',
`source_url` VARCHAR(500) DEFAULT NULL COMMENT '来源URL用于去重',
`category` VARCHAR(100) DEFAULT NULL COMMENT '分类politics/society等',
`author` VARCHAR(100) DEFAULT NULL COMMENT '作者',
`publish_time` DATETIME DEFAULT NULL COMMENT '发布时间',
`cover_image` VARCHAR(500) DEFAULT NULL COMMENT '封面图片URL',
`images` TEXT DEFAULT NULL COMMENT '图片列表JSON',
`tags` VARCHAR(500) DEFAULT NULL COMMENT '标签(逗号分隔)',
`status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '状态0未处理 1已转换为资源 2已忽略',
`is_audited` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否已审核',
`execute_status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '执行状态0未执行 1已执行',
`execute_message` TEXT DEFAULT NULL COMMENT '执行结果信息',
`resource_id` VARCHAR(64) DEFAULT NULL COMMENT '转换后的资源ID',
`crawl_time` DATETIME DEFAULT NULL COMMENT '爬取时间',
`process_time` DATETIME DEFAULT NULL COMMENT '处理时间',
`processor` VARCHAR(64) DEFAULT NULL COMMENT '处理人',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0:否 1:是)',
PRIMARY KEY (`id`),
KEY `idx_task_id` (`task_id`),
KEY `idx_log_id` (`log_id`),
KEY `idx_status` (`status`),
KEY `idx_publish_time` (`publish_time`),
KEY `idx_source_url` (`source_url`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='数据采集项表';
-- ====================================================
-- 定时任务元数据表(存储爬虫任务的元数据配置)
-- ====================================================
DROP TABLE IF EXISTS `tb_crontab_task_meta`;
CREATE TABLE `tb_crontab_task_meta` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`meta_id` VARCHAR(64) NOT NULL COMMENT '元数据ID',
`name` VARCHAR(100) NOT NULL COMMENT '任务名称',
`description` VARCHAR(500) DEFAULT NULL COMMENT '任务描述',
`category` VARCHAR(50) NOT NULL COMMENT '任务分类(如:人民日报新闻爬取)',
`bean_name` VARCHAR(100) NOT NULL COMMENT 'Bean名称执行器类名',
`method_name` VARCHAR(100) NOT NULL COMMENT '执行方法名',
`script_path` VARCHAR(255) DEFAULT NULL COMMENT 'Python脚本路径相对于basePath',
`param_schema` TEXT DEFAULT NULL COMMENT '参数模板JSON格式定义参数名、类型、描述、默认值等',
`auto_publish` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否自动发布',
`sort_order` INT DEFAULT 0 COMMENT '排序号',
`creator` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0:否 1:是)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_meta_id` (`meta_id`),
KEY `idx_category` (`category`),
KEY `idx_deleted` (`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务元数据表';
-- ====================================================
-- 定时任务邮件通知默认接收人员表(关联任务元数据,定义默认接收人员)
-- ====================================================
DROP TABLE IF EXISTS `tb_crontab_email_default`;
CREATE TABLE `tb_crontab_email_default` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`default_id` VARCHAR(64) NOT NULL COMMENT '默认ID',
`meta_id` VARCHAR(64) NOT NULL COMMENT '关联任务元数据ID',
`user_id` VARCHAR(64) NOT NULL COMMENT '关联用户ID',
`creator` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0:否 1:是)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_default_id` (`default_id`),
UNIQUE KEY `uk_meta_id` (`meta_id`, `user_id`),
KEY `idx_deleted` (`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务邮件通知默认接收人员表';
-- ====================================================
-- 定时任务邮件接收人表1对多
-- ====================================================
DROP TABLE IF EXISTS `tb_crontab_email_recipient`;
CREATE TABLE `tb_crontab_email_recipient` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`recipient_id` VARCHAR(64) NOT NULL COMMENT '接收人ID',
`task_id` VARCHAR(64) DEFAULT NULL COMMENT '关联任务IDNULL表示不属于任何任务',
`user_id` VARCHAR(64) DEFAULT NULL COMMENT '关联用户ID',
`email` VARCHAR(100) NOT NULL COMMENT '邮箱地址',
`name` VARCHAR(100) DEFAULT NULL COMMENT '接收人姓名',
`creator` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0:否 1:是)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_recipient_id` (`recipient_id`),
KEY `idx_task_id` (`task_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_email` (`email`),
KEY `idx_deleted` (`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务邮件接收人表';