diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java index b2daae28cb..7b8c4b391b 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java @@ -83,9 +83,8 @@ public class DolphinSchedulerManager { /** * upgrade DolphinScheduler - * @throws Exception if error throws Exception */ - public void upgradeDolphinScheduler() throws Exception{ + public void upgradeDolphinScheduler() { // Gets a list of all upgrades List schemaList = SchemaUtils.getAllSchemaList(); @@ -119,10 +118,11 @@ public class DolphinSchedulerManager { upgradeDao.upgradeDolphinSchedulerWorkerGroup(); } else if ("1.3.2".equals(schemaVersion)) { upgradeDao.upgradeDolphinSchedulerResourceList(); + } else if ("2.0.0".equals(schemaVersion)) { + upgradeDao.upgradeDolphinSchedulerJsonSplit(); } version = schemaVersion; } - } } diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java index fb3ffb0b88..47eeedb604 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java @@ -289,6 +289,13 @@ public abstract class UpgradeDao extends AbstractBaseDao { updateProcessDefinitionJsonResourceList(); } + /** + * upgrade DolphinScheduler to 2.0.0 + */ + public void upgradeDolphinSchedulerJsonSplit() { + processDefinitionJsonSplit(); + } + /** * updateProcessDefinitionJsonWorkerGroup */ @@ -543,4 +550,7 @@ public abstract class UpgradeDao extends AbstractBaseDao { } + public void processDefinitionJsonSplit() { + + } } diff --git a/sql/dolphinscheduler_mysql.sql b/sql/dolphinscheduler_mysql.sql index 15975fb272..ddd3f4e999 100644 --- a/sql/dolphinscheduler_mysql.sql +++ b/sql/dolphinscheduler_mysql.sql @@ -760,7 +760,7 @@ CREATE TABLE `t_ds_schedules` ( `process_definition_code` bigint(20) NOT NULL COMMENT 'process definition code', `start_time` datetime NOT NULL COMMENT 'start time', `end_time` datetime NOT NULL COMMENT 'end time', - `timezone_id` varchar(40) DEFAULT NULL COMMENT 'timezoneId', + `timezone_id` varchar(40) DEFAULT NULL COMMENT 'schedule timezone id', `crontab` varchar(255) NOT NULL COMMENT 'crontab description', `failure_strategy` tinyint(4) NOT NULL COMMENT 'failure strategy. 0:end,1:continue', `user_id` int(11) NOT NULL COMMENT 'user id', @@ -896,7 +896,7 @@ CREATE TABLE `t_ds_user` ( `create_time` datetime DEFAULT NULL COMMENT 'create time', `update_time` datetime DEFAULT NULL COMMENT 'update time', `queue` varchar(64) DEFAULT NULL COMMENT 'queue', - `state` int(1) DEFAULT 1 COMMENT 'state 0:disable 1:enable', + `state` tinyint(4) DEFAULT '1' COMMENT 'state 0:disable 1:enable', PRIMARY KEY (`id`), UNIQUE KEY `user_name_unique` (`user_name`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; diff --git a/sql/soft_version b/sql/soft_version index e21e727f96..359a5b952d 100644 --- a/sql/soft_version +++ b/sql/soft_version @@ -1 +1 @@ -1.4.0 \ No newline at end of file +2.0.0 \ No newline at end of file diff --git a/sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_ddl.sql b/sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_ddl.sql deleted file mode 100644 index 3dc764dd58..0000000000 --- a/sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_ddl.sql +++ /dev/null @@ -1,480 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); - --- uc_dolphin_T_t_ds_user_A_state -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_user_A_state; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_user_A_state() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_user' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='state') - THEN - ALTER TABLE t_ds_user ADD `state` int(1) DEFAULT 1 COMMENT 'state 0:disable 1:enable'; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_user_A_state; -DROP PROCEDURE uc_dolphin_T_t_ds_user_A_state; - --- uc_dolphin_T_t_ds_tenant_A_tenant_name -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_tenant_A_tenant_name; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_tenant_A_tenant_name() - BEGIN - IF EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_tenant' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='tenant_name') - THEN - ALTER TABLE t_ds_tenant DROP `tenant_name`; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_tenant_A_tenant_name; -DROP PROCEDURE uc_dolphin_T_t_ds_tenant_A_tenant_name; - --- uc_dolphin_T_t_ds_task_instance_A_first_submit_time -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_task_instance_A_first_submit_time; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_task_instance_A_first_submit_time() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_task_instance' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='first_submit_time') - THEN - ALTER TABLE t_ds_task_instance ADD `first_submit_time` datetime DEFAULT NULL COMMENT 'task first submit time'; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_task_instance_A_first_submit_time(); -DROP PROCEDURE uc_dolphin_T_t_ds_task_instance_A_first_submit_time; - --- uc_dolphin_T_t_ds_task_instance_A_delay_time -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_task_instance_A_delay_time; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_task_instance_A_delay_time() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_task_instance' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='delay_time') - THEN - ALTER TABLE t_ds_task_instance ADD `delay_time` int(4) DEFAULT '0' COMMENT 'task delay execution time'; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_task_instance_A_delay_time(); -DROP PROCEDURE uc_dolphin_T_t_ds_task_instance_A_delay_time; - --- uc_dolphin_T_t_ds_task_instance_A_var_pool -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_task_instance_A_var_pool; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_task_instance_A_var_pool() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_task_instance' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='var_pool') - THEN - ALTER TABLE t_ds_task_instance ADD `var_pool` longtext NULL; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_task_instance_A_var_pool(); -DROP PROCEDURE uc_dolphin_T_t_ds_task_instance_A_var_pool; - --- uc_dolphin_T_t_ds_process_instance_A_var_pool -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_process_instance_A_var_pool; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_process_instance_A_var_pool() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_process_instance' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='var_pool') - THEN - ALTER TABLE t_ds_process_instance ADD `var_pool` longtext NULL; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_process_instance_A_var_pool(); -DROP PROCEDURE uc_dolphin_T_t_ds_process_instance_A_var_pool; - --- uc_dolphin_T_t_ds_process_definition_A_modify_by -drop PROCEDURE if EXISTS ct_dolphin_T_t_ds_process_definition_version; -delimiter d// -CREATE PROCEDURE ct_dolphin_T_t_ds_process_definition_version() -BEGIN - CREATE TABLE IF NOT EXISTS `t_ds_process_definition_version` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', - `process_definition_id` int(11) NOT NULL COMMENT 'process definition id', - `version` int(11) DEFAULT NULL COMMENT 'process definition version', - `process_definition_json` longtext COMMENT 'process definition json content', - `description` text, - `global_params` text COMMENT 'global parameters', - `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', - `resource_ids` varchar(255) DEFAULT NULL COMMENT 'resource ids', - 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; -END; - -d// - -delimiter ; -CALL ct_dolphin_T_t_ds_process_definition_version; -DROP PROCEDURE ct_dolphin_T_t_ds_process_definition_version; - --- ---------------------------- --- Table structure for t_ds_plugin_define --- ---------------------------- -DROP TABLE IF EXISTS `t_ds_plugin_define`; -CREATE TABLE `t_ds_plugin_define` ( - `id` int NOT NULL AUTO_INCREMENT, - `plugin_name` varchar(100) NOT NULL COMMENT 'the name of plugin eg: email', - `plugin_type` varchar(100) NOT NULL COMMENT 'plugin type . alert=alert plugin, job=job plugin', - `plugin_params` text COMMENT 'plugin params', - `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - UNIQUE KEY `t_ds_plugin_define_UN` (`plugin_name`,`plugin_type`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; - --- ---------------------------- --- Table structure for t_ds_alert_plugin_instance --- ---------------------------- -DROP TABLE IF EXISTS `t_ds_alert_plugin_instance`; -CREATE TABLE `t_ds_alert_plugin_instance` ( - `id` int NOT NULL AUTO_INCREMENT, - `plugin_define_id` int NOT NULL, - `plugin_instance_params` text COMMENT 'plugin instance params. Also contain the params value which user input in web ui.', - `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `instance_name` varchar(200) DEFAULT NULL COMMENT 'alert instance name', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- uc_dolphin_T_t_ds_process_definition_A_warning_group_id -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_process_definition_A_warning_group_id; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_process_definition_A_warning_group_id() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_process_definition' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='warning_group_id') - THEN - ALTER TABLE t_ds_process_definition ADD COLUMN `warning_group_id` int(11) DEFAULT NULL COMMENT 'alert group id' AFTER `connects`; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_process_definition_A_warning_group_id(); -DROP PROCEDURE uc_dolphin_T_t_ds_process_definition_A_warning_group_id; - --- uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_process_definition_version' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='warning_group_id') - THEN - ALTER TABLE t_ds_process_definition_version ADD COLUMN `warning_group_id` int(11) DEFAULT NULL COMMENT 'alert group id' AFTER `connects`; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id(); -DROP PROCEDURE uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id; - --- uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_alertgroup' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='alert_instance_ids') - THEN - ALTER TABLE t_ds_alertgroup ADD COLUMN `alert_instance_ids` varchar (255) DEFAULT NULL COMMENT 'alert instance ids' AFTER `id`; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids(); -DROP PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids; - --- uc_dolphin_T_t_ds_alertgroup_A_create_user_id -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_alertgroup_A_create_user_id; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_create_user_id() - BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_alertgroup' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='create_user_id') - THEN - ALTER TABLE t_ds_alertgroup ADD COLUMN `create_user_id` int(11) DEFAULT NULL COMMENT 'create user id' AFTER `alert_instance_ids`; - END IF; - END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_alertgroup_A_create_user_id(); -DROP PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_create_user_id; - --- uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName() -BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.STATISTICS - WHERE TABLE_NAME='t_ds_alertgroup' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND INDEX_NAME ='t_ds_alertgroup_name_un') - THEN - ALTER TABLE t_ds_alertgroup ADD UNIQUE KEY `t_ds_alertgroup_name_un` (`group_name`); - END IF; -END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName(); -DROP PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName; - --- uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName() -BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.STATISTICS - WHERE TABLE_NAME='t_ds_datasource' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND INDEX_NAME ='t_ds_datasource_name_un') - THEN - ALTER TABLE t_ds_datasource ADD UNIQUE KEY `t_ds_datasource_name_un` (`name`, `type`); - END IF; -END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName(); -DROP PROCEDURE uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName; - --- uc_dolphin_T_t_ds_schedules_A_add_timezone -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_schedules_A_add_timezone; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_schedules_A_add_timezone() -BEGIN - IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS - WHERE TABLE_NAME='t_ds_schedules' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND COLUMN_NAME ='timezone_id') - THEN - ALTER TABLE t_ds_schedules ADD COLUMN `timezone_id` varchar(40) default NULL COMMENT 'schedule timezone id' AFTER `end_time`; - END IF; -END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_schedules_A_add_timezone(); -DROP PROCEDURE uc_dolphin_T_t_ds_schedules_A_add_timezone; - --- uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName -drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName; -delimiter d// -CREATE PROCEDURE uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName() -BEGIN - IF EXISTS (SELECT 1 FROM information_schema.STATISTICS - WHERE TABLE_NAME='t_ds_task_definition' - AND TABLE_SCHEMA=(SELECT DATABASE()) - AND INDEX_NAME ='task_unique') - ALTER TABLE t_ds_task_definition drop INDEX `task_unique`; - END IF; -END; - -d// - -delimiter ; -CALL uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName(); -DROP PROCEDURE uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName; - --- ---------------------------- --- Table structure for t_ds_environment --- ---------------------------- -DROP TABLE IF EXISTS `t_ds_environment`; -CREATE TABLE `t_ds_environment` ( - `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', - `code` bigint(20) DEFAULT NULL COMMENT 'encoding', - `name` varchar(100) NOT NULL COMMENT 'environment config name', - `config` text NULL DEFAULT NULL COMMENT 'this config contains many environment variables config', - `description` text NULL DEFAULT NULL COMMENT 'the details', - `operator` int(11) DEFAULT NULL COMMENT 'operator user id', - `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - UNIQUE KEY `environment_name_unique` (`name`), - UNIQUE KEY `environment_code_unique` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; - --- ---------------------------- --- Table structure for t_ds_task_definition --- ---------------------------- -DROP TABLE IF EXISTS `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(50) NOT NULL COMMENT 'task type', - `task_params` longtext COMMENT 'job custom parameters', - `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', - `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', - `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(2) 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` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute', - `delay_time` int(11) DEFAULT '0' COMMENT 'delay execution time,unit: minute', - `resource_ids` text COMMENT 'resource id, separated by comma', - `create_time` datetime NOT NULL COMMENT 'create time', - `update_time` datetime DEFAULT NULL COMMENT 'update time', - PRIMARY KEY (`id`,`code`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; - --- ---------------------------- --- Table structure for t_ds_task_definition_log --- ---------------------------- -DROP TABLE IF EXISTS `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(50) NOT NULL COMMENT 'task type', - `task_params` text COMMENT 'job custom parameters', - `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', - `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', - `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(2) 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` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute', - `delay_time` int(11) DEFAULT '0' COMMENT 'delay execution time,unit: minute', - `resource_ids` text COMMENT 'resource id, separated by comma', - `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; - -ALTER TABLE t_ds_command ADD COLUMN `environment_code` bigint(20) default '-1' COMMENT 'environment code' AFTER `worker_group`; -ALTER TABLE t_ds_error_command ADD COLUMN `environment_code` bigint(20) default '-1' COMMENT 'environment code' AFTER `worker_group`; -ALTER TABLE t_ds_schedules ADD COLUMN `environment_code` bigint(20) default '-1' COMMENT 'environment code' AFTER `worker_group`; -ALTER TABLE t_ds_process_instance ADD COLUMN `environment_code` bigint(20) default '-1' COMMENT 'environment code' AFTER `worker_group`; -ALTER TABLE t_ds_task_instance ADD COLUMN `environment_code` bigint(20) default '-1' COMMENT 'environment code' AFTER `worker_group`; -ALTER TABLE t_ds_task_instance ADD COLUMN `environment_config` text COMMENT 'environment config' AFTER `environment_code`; - -ALTER TABLE t_ds_task_definition MODIFY COLUMN `resource_ids` text; -ALTER TABLE t_ds_task_definition_log MODIFY COLUMN `resource_ids` text; - --- ---------------------------- --- Table structure for t_ds_environment_worker_group_relation --- ---------------------------- -DROP TABLE IF EXISTS `t_ds_environment_worker_group_relation`; -CREATE TABLE `t_ds_environment_worker_group_relation` ( - `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', - `environment_code` bigint(20) NOT NULL COMMENT 'environment code', - `worker_group` varchar(255) NOT NULL COMMENT 'worker group id', - `operator` int(11) DEFAULT NULL COMMENT 'operator user id', - `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - UNIQUE KEY `environment_worker_group_unique` (`environment_code`,`worker_group`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; - --- ---------------------------- --- These columns will not be used in the new version,if you determine that the historical data is useless, you can delete it using the sql below --- ---------------------------- - --- ALTER TABLE t_ds_alert DROP `show_type`, DROP `alert_type`, DROP `receivers`, DROP `receivers_cc`; - --- ALTER TABLE t_ds_alertgroup DROP `group_type`; - --- ALTER TABLE t_ds_process_definition DROP `receivers`, DROP `receivers_cc`; - --- ALTER TABLE t_ds_process_definition_version DROP `receivers`, DROP `receivers_cc`; - --- DROP TABLE IF EXISTS t_ds_relation_user_alertgroup; - --- ALTER TABLE t_ds_command DROP `dependence`; - --- ALTER TABLE t_ds_error_command DROP `dependence`; diff --git a/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl.sql b/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl.sql new file mode 100644 index 0000000000..9dbd6a0747 --- /dev/null +++ b/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl.sql @@ -0,0 +1,408 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); + +-- uc_dolphin_T_t_ds_user_A_state +drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_user_A_state; +delimiter d// +CREATE PROCEDURE uc_dolphin_T_t_ds_user_A_state() + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_ds_user' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME ='state') + THEN + ALTER TABLE t_ds_user ADD `state` tinyint(4) DEFAULT '1' COMMENT 'state 0:disable 1:enable'; + END IF; + END; + +d// + +delimiter ; +CALL uc_dolphin_T_t_ds_user_A_state; +DROP PROCEDURE uc_dolphin_T_t_ds_user_A_state; + +-- uc_dolphin_T_t_ds_tenant_A_tenant_name +drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_tenant_A_tenant_name; +delimiter d// +CREATE PROCEDURE uc_dolphin_T_t_ds_tenant_A_tenant_name() + BEGIN + IF EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_ds_tenant' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME ='tenant_name') + THEN + ALTER TABLE t_ds_tenant DROP `tenant_name`; + END IF; + END; + +d// + +delimiter ; +CALL uc_dolphin_T_t_ds_tenant_A_tenant_name; +DROP PROCEDURE uc_dolphin_T_t_ds_tenant_A_tenant_name; + +-- uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids +drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids; +delimiter d// +CREATE PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids() + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_ds_alertgroup' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME ='alert_instance_ids') + THEN + ALTER TABLE t_ds_alertgroup ADD COLUMN `alert_instance_ids` varchar (255) DEFAULT NULL COMMENT 'alert instance ids' AFTER `id`; + END IF; + END; + +d// + +delimiter ; +CALL uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids(); +DROP PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids; + +-- uc_dolphin_T_t_ds_alertgroup_A_create_user_id +drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_alertgroup_A_create_user_id; +delimiter d// +CREATE PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_create_user_id() + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_ds_alertgroup' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME ='create_user_id') + THEN + ALTER TABLE t_ds_alertgroup ADD COLUMN `create_user_id` int(11) DEFAULT NULL COMMENT 'create user id' AFTER `alert_instance_ids`; + END IF; + END; + +d// + +delimiter ; +CALL uc_dolphin_T_t_ds_alertgroup_A_create_user_id(); +DROP PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_create_user_id; + +-- uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName +drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName; +delimiter d// +CREATE PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName() +BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.STATISTICS + WHERE TABLE_NAME='t_ds_alertgroup' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND INDEX_NAME ='t_ds_alertgroup_name_un') + THEN + ALTER TABLE t_ds_alertgroup ADD UNIQUE KEY `t_ds_alertgroup_name_un` (`group_name`); + END IF; +END; + +d// + +delimiter ; +CALL uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName(); +DROP PROCEDURE uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName; + +-- uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName +drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName; +delimiter d// +CREATE PROCEDURE uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName() +BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.STATISTICS + WHERE TABLE_NAME='t_ds_datasource' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND INDEX_NAME ='t_ds_datasource_name_un') + THEN + ALTER TABLE t_ds_datasource ADD UNIQUE KEY `t_ds_datasource_name_un` (`name`, `type`); + END IF; +END; + +d// + +delimiter ; +CALL uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName(); +DROP PROCEDURE uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName; + +-- uc_dolphin_T_t_ds_project_A_add_code +drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_project_A_add_code; +delimiter d// +CREATE PROCEDURE uc_dolphin_T_t_ds_project_A_add_code() +BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_NAME='t_ds_project' + AND TABLE_SCHEMA=(SELECT DATABASE()) + AND COLUMN_NAME ='code') + THEN + alter table t_ds_project add `code` bigint(20) NOT NULL COMMENT 'encoding' AFTER `name`; + END IF; +END; + +d// + +delimiter ; +CALL uc_dolphin_T_t_ds_project_A_add_code(); +DROP PROCEDURE uc_dolphin_T_t_ds_project_A_add_code; + +-- ---------------------------- +-- Table structure for t_ds_plugin_define +-- ---------------------------- +SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); +DROP TABLE IF EXISTS `t_ds_plugin_define`; +CREATE TABLE `t_ds_plugin_define` ( + `id` int NOT NULL AUTO_INCREMENT, + `plugin_name` varchar(100) NOT NULL COMMENT 'the name of plugin eg: email', + `plugin_type` varchar(100) NOT NULL COMMENT 'plugin type . alert=alert plugin, job=job plugin', + `plugin_params` text COMMENT 'plugin params', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `t_ds_plugin_define_UN` (`plugin_name`,`plugin_type`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_alert_plugin_instance +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_alert_plugin_instance`; +CREATE TABLE `t_ds_alert_plugin_instance` ( + `id` int NOT NULL AUTO_INCREMENT, + `plugin_define_id` int NOT NULL, + `plugin_instance_params` text COMMENT 'plugin instance params. Also contain the params value which user input in web ui.', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `instance_name` varchar(200) DEFAULT NULL COMMENT 'alert instance name', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_environment +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_environment`; +CREATE TABLE `t_ds_environment` ( + `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `code` bigint(20) DEFAULT NULL COMMENT 'encoding', + `name` varchar(100) NOT NULL COMMENT 'environment name', + `config` text NULL DEFAULT NULL COMMENT 'this config contains many environment variables config', + `description` text NULL DEFAULT NULL COMMENT 'the details', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `environment_name_unique` (`name`), + UNIQUE KEY `environment_code_unique` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_environment_worker_group_relation +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_environment_worker_group_relation`; +CREATE TABLE `t_ds_environment_worker_group_relation` ( + `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `environment_code` bigint(20) NOT NULL COMMENT 'environment code', + `worker_group` varchar(255) NOT NULL COMMENT 'worker group id', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `environment_worker_group_unique` (`environment_code`,`worker_group`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_definition_log +-- ---------------------------- +DROP TABLE IF EXISTS `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 '0' 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', + `flag` tinyint(4) DEFAULT NULL COMMENT '0 not available, 1 available', + `locations` text COMMENT 'Node location information', + `warning_group_id` int(11) DEFAULT NULL COMMENT 'alert group id', + `timeout` int(11) DEFAULT '0' COMMENT 'time out,unit: minute', + `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 NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_definition +-- ---------------------------- +DROP TABLE IF EXISTS `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 '0' 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(50) NOT NULL COMMENT 'task type', + `task_params` longtext COMMENT 'job custom parameters', + `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', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `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(2) 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` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute', + `delay_time` int(11) DEFAULT '0' COMMENT 'delay execution time,unit: minute', + `resource_ids` text COMMENT 'resource id, separated by comma', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`,`code`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_definition_log +-- ---------------------------- +DROP TABLE IF EXISTS `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 '0' 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(50) NOT NULL COMMENT 'task type', + `task_params` text COMMENT 'job custom parameters', + `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', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `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(2) 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` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute', + `delay_time` int(11) DEFAULT '0' COMMENT 'delay execution time,unit: minute', + `resource_ids` text DEFAULT NULL COMMENT 'resource id, separated by comma', + `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 NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_task_relation +-- ---------------------------- +DROP TABLE IF EXISTS `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', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process code', + `process_definition_version` int(11) NOT NULL COMMENT 'process version', + `pre_task_code` bigint(20) NOT NULL COMMENT 'pre task code', + `pre_task_version` int(11) NOT NULL COMMENT 'pre task version', + `post_task_code` bigint(20) NOT NULL COMMENT 'post task code', + `post_task_version` int(11) NOT NULL COMMENT 'post task version', + `condition_type` tinyint(2) DEFAULT NULL COMMENT 'condition type : 0 none, 1 judge 2 delay', + `condition_params` text COMMENT 'condition params(json)', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_task_relation_log +-- ---------------------------- +DROP TABLE IF EXISTS `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', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process code', + `process_definition_version` int(11) NOT NULL COMMENT 'process version', + `pre_task_code` bigint(20) NOT NULL COMMENT 'pre task code', + `pre_task_version` int(11) NOT NULL COMMENT 'pre task version', + `post_task_code` bigint(20) NOT NULL COMMENT 'post task code', + `post_task_version` int(11) NOT NULL COMMENT 'post task version', + `condition_type` tinyint(2) DEFAULT NULL COMMENT 'condition type : 0 none, 1 judge 2 delay', + `condition_params` text COMMENT 'condition params(json)', + `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 NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- t_ds_command +alter table t_ds_command change process_definition_id process_definition_code bigint(20) NOT NULL COMMENT 'process definition code'; +alter table t_ds_command add environment_code bigint(20) DEFAULT '-1' COMMENT 'environment code' AFTER worker_group; +alter table t_ds_command add dry_run tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 normal, 1 dry run' AFTER environment_code; +alter table t_ds_command add process_definition_version int(11) DEFAULT '0' COMMENT 'process definition version' AFTER process_definition_code; +alter table t_ds_command add process_instance_id int(11) DEFAULT '0' COMMENT 'process instance id' AFTER process_definition_version; +alter table t_ds_command add KEY `priority_id_index` (`process_instance_priority`,`id`) USING BTREE; + +-- t_ds_error_command +alter table t_ds_error_command change process_definition_id process_definition_code bigint(20) NOT NULL COMMENT 'process definition code'; +alter table t_ds_error_command add environment_code bigint(20) DEFAULT '-1' COMMENT 'environment code' AFTER worker_group; +alter table t_ds_error_command add dry_run tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 normal, 1 dry run' AFTER message; +alter table t_ds_error_command add process_definition_version int(11) DEFAULT '0' COMMENT 'process definition version' AFTER process_definition_code; +alter table t_ds_error_command add process_instance_id int(11) DEFAULT '0' COMMENT 'process instance id' AFTER process_definition_version; + +-- t_ds_process_instance note: Data migration is not supported +alter table t_ds_process_instance change process_definition_id process_definition_code bigint(20) NOT NULL COMMENT 'process definition code'; +alter table t_ds_process_instance add process_definition_version int(11) DEFAULT '0' COMMENT 'process definition version' AFTER process_definition_code; +alter table t_ds_process_instance add environment_code bigint(20) DEFAULT '-1' COMMENT 'environment code' AFTER worker_group; +alter table t_ds_process_instance add var_pool longtext COMMENT 'var_pool' AFTER tenant_id; +alter table t_ds_process_instance add dry_run tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 normal, 1 dry run' AFTER var_pool; +alter table t_ds_process_instance drop KEY `process_instance_index`; +alter table t_ds_process_instance add KEY `process_instance_index` (`process_definition_code`,`id`) USING BTREE; +alter table t_ds_process_instance drop process_instance_json; +alter table t_ds_process_instance drop locations; +alter table t_ds_process_instance drop connects; +alter table t_ds_process_instance drop dependence_schedule_times; + +-- t_ds_task_instance note: Data migration is not supported +alter table t_ds_task_instance change process_definition_id task_code bigint(20) NOT NULL COMMENT 'task definition code'; +alter table t_ds_task_instance add task_definition_version int(11) DEFAULT '0' COMMENT 'task definition version' AFTER task_code; +alter table t_ds_task_instance add task_params text COMMENT 'job custom parameters' AFTER app_link; +alter table t_ds_task_instance add environment_code bigint(20) DEFAULT '-1' COMMENT 'environment code' AFTER worker_group; +alter table t_ds_task_instance add environment_config text COMMENT 'this config contains many environment variables config' AFTER environment_code; +alter table t_ds_task_instance add first_submit_time datetime DEFAULT NULL COMMENT 'task first submit time' AFTER executor_id; +alter table t_ds_task_instance add delay_time int(4) DEFAULT '0' COMMENT 'task delay execution time' AFTER first_submit_time; +alter table t_ds_task_instance add var_pool longtext COMMENT 'var_pool' AFTER delay_time; +alter table t_ds_task_instance add dry_run tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 normal, 1 dry run' AFTER var_pool; +alter table t_ds_task_instance drop KEY `task_instance_index`; +alter table t_ds_task_instance drop task_json; + +-- t_ds_schedules +alter table t_ds_schedules change process_definition_id process_definition_code bigint(20) NOT NULL COMMENT 'process definition code'; +alter table t_ds_schedules add timezone_id varchar(40) DEFAULT NULL COMMENT 'timezoneId' AFTER end_time; +alter table t_ds_schedules add environment_code bigint(20) DEFAULT '-1' COMMENT 'environment code' AFTER worker_group; + +-- t_ds_process_definition +alter table t_ds_process_definition add `code` bigint(20) NOT NULL COMMENT 'encoding' AFTER `id`; +alter table t_ds_process_definition add `project_code` bigint(20) NOT NULL COMMENT 'encoding' AFTER `project_id`; +alter table t_ds_process_definition add `warning_group_id` int(11) DEFAULT NULL COMMENT 'alert group id' AFTER `locations`; +alter table t_ds_process_definition add UNIQUE KEY `process_unique` (`name`,`project_code`) USING BTREE; +alter table t_ds_process_definition modify `description` text COMMENT 'description' after `version`; +alter table t_ds_process_definition modify `release_state` tinyint(4) DEFAULT NULL COMMENT 'process definition release state:0:offline,1:online' after `project_code`; +alter table t_ds_process_definition modify `create_time` datetime DEFAULT NULL COMMENT 'create time' after `tenant_id`; diff --git a/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl_post.sql b/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl_post.sql new file mode 100644 index 0000000000..b0f00a0b06 --- /dev/null +++ b/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl_post.sql @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +alter table t_ds_process_definition drop primary key; +ALTER TABLE t_ds_process_definition ADD PRIMARY KEY (`id`,`code`); +ALTER TABLE t_ds_process_definition drop KEY `process_definition_unique`; +ALTER TABLE t_ds_process_definition drop KEY `process_definition_index`; +alter table t_ds_process_definition drop project_id; +alter table t_ds_process_definition drop process_definition_json; +alter table t_ds_process_definition drop connects; +alter table t_ds_process_definition drop receivers; +alter table t_ds_process_definition drop receivers_cc; +alter table t_ds_process_definition drop modify_by; +alter table t_ds_process_definition drop resource_ids; \ No newline at end of file diff --git a/sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_dml.sql b/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_dml.sql similarity index 100% rename from sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_dml.sql rename to sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_dml.sql diff --git a/sql/upgrade/1.4.0_schema/postgresql/dolphinscheduler_ddl.sql b/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql similarity index 100% rename from sql/upgrade/1.4.0_schema/postgresql/dolphinscheduler_ddl.sql rename to sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql diff --git a/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql b/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql new file mode 100644 index 0000000000..5f26e3515d --- /dev/null +++ b/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql @@ -0,0 +1,17 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + diff --git a/sql/upgrade/1.4.0_schema/postgresql/dolphinscheduler_dml.sql b/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_dml.sql similarity index 100% rename from sql/upgrade/1.4.0_schema/postgresql/dolphinscheduler_dml.sql rename to sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_dml.sql