背景
我们希望存储对应的数据源信息,这里我们设计一下对应的数据源表。
初期可以简单些,只管理基本的信息,不做应用间的引用关系限制。
建表语句
这里以 mysql 为例
数据源基本信息
清空
[sql]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22drop table if exists jdbc_datasource_info;
CREATE TABLE jdbc_datasource_info (
id bigint(20) PRIMARY KEY auto_increment comment '物理主键',
config_name varchar(64) NOT NULL comment '配置名称',
config_status varchar(2) NOT NULL comment '配置状态(Y:启动;N:禁用)',
config_remark varchar(512) NULL comment '配置备注',
jdbc_driver VARCHAR(100) NOT NULL comment '驱动信息',
jdbc_username VARCHAR(50) NOT NULL comment '数据源用户',
jdbc_password VARCHAR(256) NOT NULL comment '数据源密码',
jdbc_url VARCHAR(500) NOT NULL comment '链接信息',
database_type VARCHAR(128) NOT NULL comment '数据库类型',
initial_pool_size INT DEFAULT 4 comment '线程池初始化大小',
max_pool_size INT DEFAULT 20 comment '线程池最大大小',
max_wait_time_ms INT DEFAULT 5000 comment '获取连接超时时间(ms)',
idle_timeout_ms INT DEFAULT 60000 comment '空闲连接自动回收时间(ms)',
validation_query VARCHAR(100) comment '验证查询',
create_time datetime comment '创建时间',
update_time datetime comment '更新时间',
create_by VARCHAR(64) comment '创建人',
update_by VARCHAR(64) comment '更新人',
UNIQUE KEY (config_name)
) COMMENT '数据源信息';
任务基本信息
[sql]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24drop table if exists sql_execute_task;
CREATE TABLE sql_execute_task (
id bigint(20) PRIMARY KEY auto_increment comment '物理主键',
task_name varchar(64) NOT NULL comment '任务名称',
task_status varchar(2) NOT NULL comment '任务状态',
task_remark varchar(512) NULL comment '任务备注',
ref_datasource_id bigint(20) NOT NULL comment '引用的数据源ID',
execute_sql TEXT NOT NULL comment '执行脚本',
value_extra_list TEXT NULL comment '表达式提取列表',
after_action_condition varchar(512) NOT NULL comment '后置动作触发条件',
after_action varchar(16) NOT NULL comment '后置动作',
receive_user_list varchar(1024) NULL comment '信息接收用户列表',
next_trigger_time datetime NULL comment '下次执行时间',
schedule_cron_expression varchar(128) NOT NULL comment '调度表达式',
schedule_start_at datetime NULL comment '调度开始时间',
schedule_end_at datetime NULL comment '调度结束时间',
schedule_max_times bigint(20) null comment '最多执行次数',
schedule_current_times bigint(20) default 0 comment '当前执行次数',
create_time datetime comment '创建时间',
update_time datetime comment '更新时间',
create_by VARCHAR(64) comment '创建人',
update_by VARCHAR(64) comment '更新人',
UNIQUE KEY (task_name)
) COMMENT 'SQL执行任务信息';
任务动作历史表
[sql]
1
2
3
4
5
6
7
8
9
10
11
12
13drop table if exists sql_task_action_history;
CREATE TABLE sql_task_action_history (
id bigint(20) PRIMARY KEY auto_increment comment '物理主键',
task_name varchar(64) NOT NULL comment '任务名称',
after_action varchar(16) NOT NULL comment '后置动作',
receive_user_list varchar(1024) NULL comment '信息接收用户列表',
action_content text comment '动作内容',
create_time datetime comment '创建时间',
update_time datetime comment '更新时间',
create_by VARCHAR(64) comment '创建人',
update_by VARCHAR(64) comment '更新人',
UNIQUE KEY (task_name)
) COMMENT 'SQL执行动作历史表';
小结
基本的表信息就是这样,当然后期可以针对表的变化日志+执行记录等进行新增关联表。
参考资料
无