hi:


In order to support the import and export of workflow definition, data source 
and resource file, code field is added


But found a lot of changes, please give your opinion, discuss how to do


The address of issue and code is as follows:


—————————————————————————————————————

为了支持工作流定义,数据源,资源文件的导入导出, 增加了code字段.
但是发现改动很多,麻烦各位发表一下意见,讨论应该怎么做.
issue和code地址如下:

—————————————————————————————————————

issues:

https://github.com/apache/incubator-dolphinscheduler/issues/3937

code:

https://github.com/BoYiZhang/incubator-dolphinscheduler/tree/feature_3937




--------------------------------------------------------------------------

issue: #3937 

This feature is the front of feature #3820

Code field is added to support subsequent import and export functions

db table change
t_ds_project [Add field code ]

t_ds_process_definition [ Add field code ,parent_code,is_directory, update 
project_id -> project_code , resource_ids -> resource_codes ]

t_ds_process_definition_version [ update process_definition_id -> 
process_definition_code , resource_ids -> resource_codes ]

t_ds_datasource [Add field code]
t_ds_udfs [add field code, update field resource_id -> resource_code ]



—————————————————————————————————————





SQL change script :



use dolphinscheduler ;

-- 1. 更改数据库表结构
ALTER TABLE `t_ds_datasource` ADD COLUMN `code` VARCHAR(128)  NOT NULL COMMENT 
'编码' AFTER `id` ;

ALTER TABLE `t_ds_resources` ADD COLUMN `code` VARCHAR(128) NOT NULL COMMENT 
'唯一编码' AFTER `id` ;
ALTER TABLE `t_ds_resources` CHANGE COLUMN `pid` `parent_code` VARCHAR(128) 
DEFAULT '-1' COMMENT 'parent code' ;

ALTER TABLE `t_ds_udfs` ADD COLUMN `code` VARCHAR(128) NOT NULL COMMENT '唯一编码' 
AFTER `id` ;
ALTER TABLE `t_ds_udfs` CHANGE COLUMN `resource_id` `resource_code` 
VARCHAR(128) NOT NULL COMMENT 'resource code'  ;

ALTER TABLE `t_ds_project` ADD COLUMN `code` VARCHAR(128) NOT NULL COMMENT 
'项目唯一编码' AFTER `id` ;

ALTER TABLE `t_ds_process_definition` ADD COLUMN `code` VARCHAR(128) NOT NULL 
COMMENT '全局变量唯一编码' AFTER `id` ;
ALTER TABLE `t_ds_process_definition` CHANGE COLUMN `project_id` `project_code` 
VARCHAR(128) NOT NULL  COMMENT 'project code'  ;
ALTER TABLE `t_ds_process_definition` CHANGE `resource_ids` `resource_codes` 
VARCHAR(128) ;


ALTER TABLE `t_ds_process_definition_version` CHANGE `process_definition_id` 
`process_definition_code` VARCHAR(128) ;
ALTER TABLE `t_ds_process_definition_version` CHANGE `resource_ids` 
`resource_codes` VARCHAR(128) ;

ALTER TABLE `t_ds_schedules` CHANGE `process_definition_id` 
`process_definition_code` VARCHAR(128) ;




-- 2.构建唯一索引
ALTER TABLE `t_ds_datasource`  ADD UNIQUE INDEX `code_UNIQUE` (`code` ASC)  ;

ALTER TABLE `t_ds_resources`  ADD UNIQUE INDEX `code_UNIQUE` (`code` ASC) ;

ALTER TABLE `t_ds_udfs` ADD UNIQUE INDEX `code_UNIQUE` (`code` ASC) ;

ALTER TABLE `t_ds_project` ADD UNIQUE INDEX `code_UNIQUE` (`code` ASC) ;

ALTER TABLE `t_ds_process_definition`  ADD UNIQUE INDEX 
`process_definition_unique_code` (`code` ASC, `project_code` ASC);


-- 3.升级之前的历史数据 [如果没有数据,则不做变动]

UPDATE `t_ds_datasource` SET code = id ;
UPDATE `t_ds_resources` SET code = id ;
UPDATE `t_ds_udfs` SET code = id ;
UPDATE `t_ds_project` SET code = id ;
UPDATE `t_ds_process_definition` SET code = id  ;



// 4. 升级工作流定义中的关于依赖任务和子流程定义中的数据结构[如果没有数据,则不做变动]

这部分需要运行升级代码










issues:

https://github.com/apache/incubator-dolphinscheduler/issues/3937

code:

https://github.com/BoYiZhang/incubator-dolphinscheduler/tree/feature_3937


Reply via email to