Browse Source

add unique key for t_ds_process_definition

pull/3/MERGE
张世鸣 4 years ago
parent
commit
e988d021cc
  1. 3
      sql/dolphinscheduler-postgre.sql
  2. 24
      sql/upgrade/1.2.2_schema/mysql/dolphinscheduler_ddl.sql
  3. 17
      sql/upgrade/1.2.2_schema/postgresql/dolphinscheduler_ddl.sql

3
sql/dolphinscheduler-postgre.sql

@ -309,7 +309,8 @@ CREATE TABLE t_ds_process_definition (
update_time timestamp DEFAULT NULL ,
modify_by varchar(36) DEFAULT '' ,
resource_ids varchar(64),
PRIMARY KEY (id)
PRIMARY KEY (id),
CONSTRAINT process_definition_unique UNIQUE (name, project_id)
) ;
create index process_definition_index on t_ds_process_definition (project_id,id);

24
sql/upgrade/1.2.2_schema/mysql/dolphinscheduler_ddl.sql

@ -59,7 +59,7 @@ DROP PROCEDURE uc_dolphin_T_t_ds_task_instance_A_executor_id;
-- uc_dolphin_T_t_ds_task_instance_C_app_link
drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_task_instance_C_app_link;
delimiter d//
CREATE PROCEDURE uc_dolphin_T_t_ds_task_instance_C_app_link()
CREATE PROCEDURE uc_dolphin_T_uc_dolphin_T_t_ds_task_instance_C_app_linkt_ds_task_instance_C_app_link()
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_NAME='t_ds_task_instance'
@ -357,3 +357,25 @@ delimiter ;
CALL dc_dolphin_T_t_ds_error_command_D_worker_group_id;
DROP PROCEDURE dc_dolphin_T_t_ds_error_command_D_worker_group_id;
-- uc_dolphin_T_t_ds_process_definition_A_process_definition_unique
drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_process_definition_A_process_definition_unique;
delimiter d//
CREATE PROCEDURE uc_dolphin_T_t_ds_process_definition_A_modify_by()
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.STATISTICS
WHERE TABLE_NAME='t_ds_process_definition'
AND TABLE_SCHEMA=(SELECT DATABASE())
AND INDEX_NAME ='process_definition_unique')
THEN
ALTER TABLE t_ds_process_definition ADD UNIQUE KEY `process_definition_unique` (`name`,`project_id`);
END IF;
END;
d//
delimiter ;
CALL uc_dolphin_T_t_ds_process_definition_A_process_definition_unique;
DROP PROCEDURE uc_dolphin_T_t_ds_process_definition_A_process_definition_unique;

17
sql/upgrade/1.2.2_schema/postgresql/dolphinscheduler_ddl.sql

@ -363,4 +363,21 @@ delimiter ;
select dc_dolphin_T_t_ds_error_command_D_worker_group_id();
DROP FUNCTION dc_dolphin_T_t_ds_error_command_D_worker_group_id();
-- uc_dolphin_T_t_ds_process_definition_A_process_definition_unique
delimiter d//
CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_process_definition_A_process_definition_unique() RETURNS void AS $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.STATISTICS
WHERE TABLE_NAME='t_ds_process_definition'
AND INDEX_NAME ='process_definition_unique')
THEN
ALTER TABLE t_ds_process_definition ADD CONSTRAINT process_definition_unique UNIQUE (name,project_id);
END IF;
END;
$$ LANGUAGE plpgsql;
d//
delimiter ;
SELECT uc_dolphin_T_t_ds_process_definition_A_process_definition_unique();
DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_definition_A_process_definition_unique();

Loading…
Cancel
Save