diff --git a/sql/dolphinscheduler_mysql.sql b/sql/dolphinscheduler_mysql.sql index 1429a00530..e900632a92 100644 --- a/sql/dolphinscheduler_mysql.sql +++ b/sql/dolphinscheduler_mysql.sql @@ -394,35 +394,154 @@ CREATE TABLE `t_ds_error_command` ( -- ---------------------------- DROP TABLE IF EXISTS `t_ds_process_definition`; CREATE TABLE `t_ds_process_definition` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', - `name` varchar(255) DEFAULT NULL COMMENT 'process definition name', + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(200) DEFAULT NULL COMMENT 'process definition name', `version` int(11) DEFAULT NULL COMMENT 'process definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', `release_state` tinyint(4) DEFAULT NULL COMMENT 'process definition release state:0:offline,1:online', - `project_id` int(11) DEFAULT NULL COMMENT 'project id', `user_id` int(11) DEFAULT NULL COMMENT 'process definition creator id', - `process_definition_json` longtext COMMENT 'process definition json content', - `description` text, `global_params` text COMMENT 'global parameters', + `locations` text COMMENT 'node location information', `flag` tinyint(4) DEFAULT NULL COMMENT '0 not available, 1 available', - `locations` text COMMENT 'Node location information', - `connects` text COMMENT 'Node connection information', `receivers` text COMMENT 'receivers', `receivers_cc` text COMMENT 'cc', - `create_time` datetime DEFAULT NULL COMMENT 'create time', `timeout` int(11) DEFAULT '0' COMMENT 'time out', `tenant_id` int(11) NOT NULL DEFAULT '-1' COMMENT 'tenant id', + `create_time` datetime NOT NULL COMMENT 'create time', `update_time` datetime DEFAULT NULL COMMENT 'update time', - `modify_by` varchar(255) DEFAULT NULL, - `resource_ids` varchar(255) DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `process_definition_unique` (`name`,`project_id`), - KEY `process_definition_index` (`project_id`,`id`) USING BTREE + PRIMARY KEY (`id`,`code`), + UNIQUE KEY `process_unique` (`name`,`project_code`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of t_ds_process_definition -- ---------------------------- +-- ---------------------------- +-- Table structure for t_ds_process_definition_log +-- ---------------------------- +CREATE TABLE `t_ds_process_definition_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(200) DEFAULT NULL COMMENT 'process definition name', + `version` int(11) DEFAULT NULL COMMENT 'process definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `release_state` tinyint(4) DEFAULT NULL COMMENT 'process definition release state:0:offline,1:online', + `user_id` int(11) DEFAULT NULL COMMENT 'process definition creator id', + `global_params` text COMMENT 'global parameters', + `locations` text COMMENT 'node location information', + `flag` tinyint(4) DEFAULT NULL COMMENT '0 not available, 1 available', + `receivers` text COMMENT 'receivers', + `receivers_cc` text COMMENT 'cc', + `timeout` int(11) DEFAULT '0' COMMENT 'time out', + `tenant_id` int(11) NOT NULL DEFAULT '-1' COMMENT 'tenant id', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `operate_time` datetime DEFAULT NULL COMMENT 'operate time', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_definition +-- ---------------------------- +CREATE TABLE `t_ds_task_definition` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(200) DEFAULT NULL COMMENT 'task definition name', + `version` int(11) DEFAULT NULL COMMENT 'task definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `user_id` int(11) DEFAULT NULL COMMENT 'task definition creator id', + `task_type` varchar(30) DEFAULT NULL COMMENT 'job type', + `task_params` text COMMENT 'job custom parameters', + `run_flag` tinyint(2) DEFAULT NULL COMMENT '0 not available, 1 available', + `task_priority` tinyint(4) DEFAULT NULL COMMENT 'job priority', + `worker_group` varchar(200) DEFAULT NULL COMMENT 'worker grouping', + `fail_retry_times` int(11) DEFAULT NULL COMMENT 'number of failed retries', + `fail_retry_interval` int(11) DEFAULT NULL COMMENT 'failed retry interval', + `timeout_flag` tinyint(1) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open', + `timeout_notify_strategy` tinyint(4) DEFAULT NULL COMMENT 'timeout notification policy: 0 warning, 1 fail', + `timeout_duration` int(11) DEFAULT '0' COMMENT 'timeout length', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`,`code`), + UNIQUE KEY `task_unique` (`name`,`project_code`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_definition_log +-- ---------------------------- +CREATE TABLE `t_ds_task_definition_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(200) DEFAULT NULL COMMENT 'task definition name', + `version` int(11) DEFAULT NULL COMMENT 'task definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `user_id` int(11) DEFAULT NULL COMMENT 'task definition creator id', + `task_type` varchar(30) DEFAULT NULL COMMENT 'job type', + `task_params` text COMMENT 'job custom parameters', + `run_flag` tinyint(2) DEFAULT NULL COMMENT '0 not available, 1 available', + `task_priority` tinyint(4) DEFAULT NULL COMMENT 'job priority', + `worker_group` varchar(200) DEFAULT NULL COMMENT 'worker grouping', + `fail_retry_times` int(11) DEFAULT NULL COMMENT 'number of failed retries', + `fail_retry_interval` int(11) DEFAULT NULL COMMENT 'failed retry interval', + `timeout_flag` tinyint(1) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open', + `timeout_notify_strategy` tinyint(4) DEFAULT NULL COMMENT 'timeout notification policy: 0 warning, 1 fail', + `timeout_duration` int(11) DEFAULT '0' COMMENT 'timeout length', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `operate_time` datetime DEFAULT NULL COMMENT 'operate time', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_task_relation +-- ---------------------------- +CREATE TABLE `t_ds_process_task_relation` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `name` varchar(200) DEFAULT NULL COMMENT 'relation name', + `version` int(11) DEFAULT NULL COMMENT 'relation version', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process code', + `pre_project_code` bigint(20) NOT NULL COMMENT 'pre process code', + `pre_task_code` bigint(20) NOT NULL COMMENT 'pre task code', + `condition_type` tinyint(2) DEFAULT NULL COMMENT 'condition type : 0 none, 1 judge 2 delay', + `condition_params` text COMMENT 'condition params(json)', + `post_project_code` bigint(20) NOT NULL COMMENT 'post process code', + `post_task_code` bigint(20) NOT NULL COMMENT 'post task code', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_task_relation_log +-- ---------------------------- +CREATE TABLE `t_ds_process_task_relation_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `name` varchar(200) DEFAULT NULL COMMENT 'relation name', + `version` int(11) DEFAULT NULL COMMENT 'relation version', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process code', + `pre_project_code` bigint(20) NOT NULL COMMENT 'pre process code', + `pre_task_code` bigint(20) NOT NULL COMMENT 'pre task code', + `condition_type` tinyint(2) DEFAULT NULL COMMENT 'condition type : 0 none, 1 judge 2 delay', + `condition_params` text COMMENT 'condition params(json)', + `post_project_code` bigint(20) NOT NULL COMMENT 'post process code', + `post_task_code` bigint(20) NOT NULL COMMENT 'post task code', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `operate_time` datetime DEFAULT NULL COMMENT 'operate time', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + -- ---------------------------- -- Table structure for t_ds_process_definition_version -- ---------------------------- @@ -444,7 +563,7 @@ CREATE TABLE `t_ds_process_definition_version` ( PRIMARY KEY (`id`), UNIQUE KEY `process_definition_id_and_version` (`process_definition_id`,`version`) USING BTREE, KEY `process_definition_index` (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of t_ds_process_definition @@ -457,7 +576,8 @@ DROP TABLE IF EXISTS `t_ds_process_instance`; CREATE TABLE `t_ds_process_instance` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', `name` varchar(255) DEFAULT NULL COMMENT 'process instance name', - `process_definition_id` int(11) DEFAULT NULL COMMENT 'process definition id', + `process_definition_version` int(11) DEFAULT NULL COMMENT 'process definition version', + `process_definition_code` bigint(20) not NULL COMMENT 'process definition code', `state` tinyint(4) DEFAULT NULL COMMENT 'process instance Status: 0 commit succeeded, 1 running, 2 prepare to pause, 3 pause, 4 prepare to stop, 5 stop, 6 fail, 7 succeed, 8 need fault tolerance, 9 kill, 10 wait for thread, 11 wait for dependency to complete', `recovery` tinyint(4) DEFAULT NULL COMMENT 'process instance failover flag:0:normal,1:failover instance', `start_time` datetime DEFAULT NULL COMMENT 'process instance start time', @@ -474,22 +594,17 @@ CREATE TABLE `t_ds_process_instance` ( `schedule_time` datetime DEFAULT NULL COMMENT 'schedule time', `command_start_time` datetime DEFAULT NULL COMMENT 'command start time', `global_params` text COMMENT 'global parameters', - `process_instance_json` longtext COMMENT 'process instance json(copy的process definition 的json)', `flag` tinyint(4) DEFAULT '1' COMMENT 'flag', `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `is_sub_process` int(11) DEFAULT '0' COMMENT 'flag, whether the process is sub process', `executor_id` int(11) NOT NULL COMMENT 'executor id', - `locations` text COMMENT 'Node location information', - `connects` text COMMENT 'Node connection information', `history_cmd` text COMMENT 'history commands of process instance operation', - `dependence_schedule_times` text COMMENT 'depend schedule fire time', `process_instance_priority` int(11) DEFAULT NULL COMMENT 'process instance priority. 0 Highest,1 High,2 Medium,3 Low,4 Lowest', `worker_group` varchar(64) DEFAULT NULL COMMENT 'worker group id', `timeout` int(11) DEFAULT '0' COMMENT 'time out', `tenant_id` int(11) NOT NULL DEFAULT '-1' COMMENT 'tenant id', - `var_pool` longtext COMMENT 'var_pool', PRIMARY KEY (`id`), - KEY `process_instance_index` (`process_definition_id`,`id`) USING BTREE, + KEY `process_instance_index` (`process_definition_code`,`id`) USING BTREE, KEY `start_time_index` (`start_time`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; @@ -504,10 +619,11 @@ DROP TABLE IF EXISTS `t_ds_project`; CREATE TABLE `t_ds_project` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', `name` varchar(100) DEFAULT NULL COMMENT 'project name', + `code` bigint(20) NOT NULL COMMENT 'encoding', `description` varchar(200) DEFAULT NULL, `user_id` int(11) DEFAULT NULL COMMENT 'creator id', `flag` tinyint(4) DEFAULT '1' COMMENT '0 not available, 1 available', - `create_time` datetime DEFAULT NULL COMMENT 'create time', + `create_time` datetime NOT NULL COMMENT 'create time', `update_time` datetime DEFAULT NULL COMMENT 'update time', PRIMARY KEY (`id`), KEY `user_id_index` (`user_id`) USING BTREE @@ -715,8 +831,9 @@ DROP TABLE IF EXISTS `t_ds_task_instance`; CREATE TABLE `t_ds_task_instance` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', `name` varchar(255) DEFAULT NULL COMMENT 'task name', + `task_definition_version` int(11) DEFAULT NULL COMMENT 'task definition version', `task_type` varchar(64) DEFAULT NULL COMMENT 'task type', - `process_definition_id` int(11) DEFAULT NULL COMMENT 'process definition id', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process definition code', `process_instance_id` int(11) DEFAULT NULL COMMENT 'process instance id', `task_json` longtext COMMENT 'task content json', `state` tinyint(4) DEFAULT NULL COMMENT 'Status: 0 commit succeeded, 1 running, 2 prepare to pause, 3 pause, 4 prepare to stop, 5 stop, 6 fail, 7 succeed, 8 need fault tolerance, 9 kill, 10 wait for thread, 11 wait for dependency to complete', @@ -736,9 +853,6 @@ CREATE TABLE `t_ds_task_instance` ( `task_instance_priority` int(11) DEFAULT NULL COMMENT 'task instance priority:0 Highest,1 High,2 Medium,3 Low,4 Lowest', `worker_group` varchar(64) DEFAULT NULL COMMENT 'worker group id', `executor_id` int(11) DEFAULT NULL, - `first_submit_time` datetime DEFAULT NULL COMMENT 'task first submit time', - `delay_time` int(4) DEFAULT '0' COMMENT 'task delay execution time', - `var_pool` longtext COMMENT 'var_pool', PRIMARY KEY (`id`), KEY `process_instance_id` (`process_instance_id`) USING BTREE, KEY `task_instance_index` (`process_definition_id`,`process_instance_id`) USING BTREE,