You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ki...@apache.org on 2021/11/09 02:57:36 UTC
[dolphinscheduler] branch 2.0.0-release-prepare updated:
cherry-pick 6716 supplement Postgre procedure sql file (#6749)
This is an automated email from the ASF dual-hosted git repository.
kirs pushed a commit to branch 2.0.0-release-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/2.0.0-release-prepare by this push:
new 4baa211 cherry-pick 6716 supplement Postgre procedure sql file (#6749)
4baa211 is described below
commit 4baa211e155db114960d1788540f27132381a5e5
Author: OS <29...@users.noreply.github.com>
AuthorDate: Tue Nov 9 10:57:31 2021 +0800
cherry-pick 6716 supplement Postgre procedure sql file (#6749)
Co-authored-by: GaoTianDuo <ga...@cmss.chinamobile.com>
---
.../postgresql/dolphinscheduler_ddl.sql | 685 +++++++++------------
.../postgresql/dolphinscheduler_ddl_post.sql | 10 +
2 files changed, 297 insertions(+), 398 deletions(-)
diff --git a/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql b/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
index 663148a..e68781b 100644
--- a/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
+++ b/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
@@ -15,404 +15,293 @@
* limitations under the License.
*/
--- uc_dolphin_T_t_ds_user_A_state
-delimiter ;
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_user_A_state();
-delimiter d//
-CREATE FUNCTION uc_dolphin_T_t_ds_user_A_state() RETURNS void AS $$
+CREATE OR REPLACE FUNCTION public.dolphin_update_metadata(
+ )
+ RETURNS character varying
+ LANGUAGE 'plpgsql'
+ COST 100
+ VOLATILE PARALLEL UNSAFE
+AS $BODY$
+DECLARE
+ v_schema varchar;
BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_CATALOG=current_database()
- AND TABLE_SCHEMA=current_schema()
- AND TABLE_NAME='t_ds_user'
- AND COLUMN_NAME ='state')
- THEN
- ALTER TABLE t_ds_user ADD COLUMN state int DEFAULT 1;
- comment on column t_ds_user.state is 'state 0:disable 1:enable';
- END IF;
+ ---get schema name
+ v_schema =current_schema();
+
+ --- rename columns
+ EXECUTE 'ALTER TABLE IF EXISTS ' || quote_ident(v_schema) ||'.t_ds_command RENAME COLUMN process_definition_id to process_definition_code';
+ EXECUTE 'ALTER TABLE IF EXISTS ' || quote_ident(v_schema) ||'.t_ds_error_command RENAME COLUMN process_definition_id to process_definition_code';
+ EXECUTE 'ALTER TABLE IF EXISTS ' || quote_ident(v_schema) ||'.t_ds_process_instance RENAME COLUMN process_definition_id to process_definition_code';
+ EXECUTE 'ALTER TABLE IF EXISTS ' || quote_ident(v_schema) ||'.t_ds_task_instance RENAME COLUMN process_definition_id to task_code';
+ EXECUTE 'ALTER TABLE IF EXISTS ' || quote_ident(v_schema) ||'.t_ds_schedules RENAME COLUMN process_definition_id to process_definition_code';
+ EXECUTE 'ALTER TABLE IF EXISTS ' || quote_ident(v_schema) ||'.t_ds_process_definition RENAME COLUMN project_id to project_code';
+
+ --- alter column type
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_command ALTER COLUMN process_definition_code TYPE bigint';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_error_command ALTER COLUMN process_definition_code TYPE bigint';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance ALTER COLUMN process_definition_code TYPE bigint';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ALTER COLUMN task_code TYPE bigint';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_schedules ALTER COLUMN process_definition_code TYPE bigint';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_definition ALTER COLUMN project_code TYPE bigint';
+
+ --- add columns
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_user ADD COLUMN IF NOT EXISTS "state" int DEFAULT 1';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_alertgroup ADD COLUMN IF NOT EXISTS "alert_instance_ids" varchar(255) DEFAULT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_alertgroup ADD COLUMN IF NOT EXISTS "create_user_id" int4 DEFAULT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_project ADD COLUMN IF NOT EXISTS "code" bigint NOT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_command ADD COLUMN IF NOT EXISTS "environment_code" bigint DEFAULT -1';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_command ADD COLUMN IF NOT EXISTS "dry_run" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_command ADD COLUMN IF NOT EXISTS "process_definition_version" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_command ADD COLUMN IF NOT EXISTS "process_instance_id" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_error_command ADD COLUMN IF NOT EXISTS "environment_code" bigint DEFAULT -1';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_error_command ADD COLUMN IF NOT EXISTS "dry_run" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_error_command ADD COLUMN IF NOT EXISTS "process_definition_version" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_error_command ADD COLUMN IF NOT EXISTS "process_instance_id" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance ADD COLUMN IF NOT EXISTS "process_definition_version" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance ADD COLUMN IF NOT EXISTS "environment_code" bigint DEFAULT -1';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance ADD COLUMN IF NOT EXISTS "var_pool" text';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance ADD COLUMN IF NOT EXISTS "dry_run" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "task_definition_version" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "task_params" text';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "environment_code" bigint DEFAULT -1';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "environment_config" text';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "first_submit_time" timestamp DEFAULT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "delay_time" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "var_pool" text';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance ADD COLUMN IF NOT EXISTS "dry_run" int DEFAULT 0';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_schedules ADD COLUMN IF NOT EXISTS "timezone_id" varchar(40) DEFAULT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_schedules ADD COLUMN IF NOT EXISTS "environment_code" int DEFAULT -1';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_definition ADD COLUMN IF NOT EXISTS "code" bigint';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_definition ADD COLUMN IF NOT EXISTS "warning_group_id" int';
+
+ ---drop columns
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_tenant DROP COLUMN IF EXISTS "tenant_name"';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance DROP COLUMN IF EXISTS "process_instance_json"';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance DROP COLUMN IF EXISTS "locations"';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance DROP COLUMN IF EXISTS "connects"';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_process_instance DROP COLUMN IF EXISTS "dependence_schedule_times"';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'.t_ds_task_instance DROP COLUMN IF EXISTS "task_json"';
+
+ -- add CONSTRAINT
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_alertgroup" ADD CONSTRAINT "t_ds_alertgroup_name_un" UNIQUE ("group_name")';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_datasource" ADD CONSTRAINT "t_ds_datasource_name_un" UNIQUE ("name","type")';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_command" ALTER COLUMN "process_definition_code" SET NOT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_process_instance" ALTER COLUMN "process_definition_code" SET NOT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_task_instance" ALTER COLUMN "task_code" SET NOT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_schedules" ALTER COLUMN "process_definition_code" SET NOT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_process_definition" ALTER COLUMN "code" SET NOT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_process_definition" ALTER COLUMN "project_code" SET NOT NULL';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_process_definition" ADD CONSTRAINT "process_unique" UNIQUE ("name","project_code")';
+ EXECUTE 'ALTER TABLE ' || quote_ident(v_schema) ||'."t_ds_process_definition" ALTER COLUMN "description" SET NOT NULL';
+
+ --- drop index
+ EXECUTE 'DROP INDEX IF EXISTS "process_instance_index"';
+ EXECUTE 'DROP INDEX IF EXISTS "task_instance_index"';
+
+ --- create index
+ EXECUTE 'CREATE INDEX IF NOT EXISTS priority_id_index ON ' || quote_ident(v_schema) ||'.t_ds_command USING Btree("process_instance_priority","id")';
+ EXECUTE 'CREATE INDEX IF NOT EXISTS process_instance_index ON ' || quote_ident(v_schema) ||'.t_ds_process_instance USING Btree("process_definition_code","id")';
+
+
+ ---add comment
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_user.state is ''state 0:disable 1:enable''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_alertgroup.alert_instance_ids is ''alert instance ids''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_alertgroup.create_user_id is ''create user id''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_project.code is ''coding''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_command.process_definition_code is ''process definition code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_command.environment_code is ''environment code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_command.dry_run is ''dry run flag:0 normal, 1 dry run''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_command.process_definition_version is ''process definition version''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_command.process_instance_id is ''process instance id''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_error_command.process_definition_code is ''process definition code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_error_command.environment_code is ''environment code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_error_command.dry_run is ''dry run flag:0 normal, 1 dry run''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_error_command.process_definition_version is ''process definition version''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_error_command.process_instance_id is ''process instance id''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_instance.process_definition_code is ''process instance code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_instance.process_definition_version is ''process instance version''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_instance.environment_code is ''environment code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_instance.var_pool is ''var pool''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_instance.dry_run is ''dry run flag:0 normal, 1 dry run''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.task_code is ''task definition code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.task_definition_version is ''task definition version''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.task_params is ''task params''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.environment_code is ''environment code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.environment_config is ''this config contains many environment variables config''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.first_submit_time is ''task first submit time''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.delay_time is ''task delay execution time''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.var_pool is ''var pool''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_task_instance.dry_run is ''dry run flag:0 normal, 1 dry run''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_schedules.process_definition_code is ''process definition code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_schedules.timezone_id is ''timezone id''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_schedules.environment_code is ''environment code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_definition.code is ''encoding''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_definition.project_code is ''project code''';
+ EXECUTE 'comment on column ' || quote_ident(v_schema) ||'.t_ds_process_definition.warning_group_id is ''alert group id''';
+
+ --create table
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_plugin_define" (
+ id serial NOT NULL,
+ plugin_name varchar(100) NOT NULL,
+ plugin_type varchar(100) NOT NULL,
+ plugin_params text NULL,
+ create_time timestamp NULL,
+ update_time timestamp NULL,
+ CONSTRAINT t_ds_plugin_define_pk PRIMARY KEY (id),
+ CONSTRAINT t_ds_plugin_define_un UNIQUE (plugin_name, plugin_type)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_alert_plugin_instance" (
+ id serial NOT NULL,
+ plugin_define_id int4 NOT NULL,
+ plugin_instance_params text NULL,
+ create_time timestamp NULL,
+ update_time timestamp NULL,
+ instance_name varchar(200) NULL,
+ CONSTRAINT t_ds_alert_plugin_instance_pk PRIMARY KEY (id)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_environment" (
+ id serial NOT NULL,
+ code bigint NOT NULL,
+ name varchar(100) DEFAULT NULL,
+ config text DEFAULT NULL,
+ description text,
+ operator int DEFAULT NULL,
+ create_time timestamp DEFAULT NULL,
+ update_time timestamp DEFAULT NULL,
+ PRIMARY KEY (id),
+ CONSTRAINT environment_name_unique UNIQUE (name),
+ CONSTRAINT environment_code_unique UNIQUE (code)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_environment_worker_group_relation" (
+ id serial NOT NULL,
+ environment_code bigint NOT NULL,
+ worker_group varchar(255) NOT NULL,
+ operator int DEFAULT NULL,
+ create_time timestamp DEFAULT NULL,
+ update_time timestamp DEFAULT NULL,
+ PRIMARY KEY (id) ,
+ CONSTRAINT environment_worker_group_unique UNIQUE (environment_code,worker_group)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_process_definition_log" (
+ id int NOT NULL ,
+ code bigint NOT NULL,
+ name varchar(255) DEFAULT NULL ,
+ version int NOT NULL ,
+ description text ,
+ project_code bigint DEFAULT NULL ,
+ release_state int DEFAULT NULL ,
+ user_id int DEFAULT NULL ,
+ global_params text ,
+ locations text ,
+ warning_group_id int DEFAULT NULL ,
+ flag int DEFAULT NULL ,
+ timeout int DEFAULT 0 ,
+ tenant_id int DEFAULT -1 ,
+ execution_type int DEFAULT 0,
+ operator int DEFAULT NULL ,
+ operate_time timestamp DEFAULT NULL ,
+ create_time timestamp DEFAULT NULL ,
+ update_time timestamp DEFAULT NULL ,
+ PRIMARY KEY (id)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_task_definition" (
+ id int NOT NULL ,
+ code bigint NOT NULL,
+ name varchar(255) DEFAULT NULL ,
+ version int NOT NULL ,
+ description text ,
+ project_code bigint DEFAULT NULL ,
+ user_id int DEFAULT NULL ,
+ task_type varchar(50) DEFAULT NULL ,
+ task_params text ,
+ flag int DEFAULT NULL ,
+ task_priority int DEFAULT NULL ,
+ worker_group varchar(255) DEFAULT NULL ,
+ environment_code bigint DEFAULT -1,
+ fail_retry_times int DEFAULT NULL ,
+ fail_retry_interval int DEFAULT NULL ,
+ timeout_flag int DEFAULT NULL ,
+ timeout_notify_strategy int DEFAULT NULL ,
+ timeout int DEFAULT 0 ,
+ delay_time int DEFAULT 0 ,
+ resource_ids text ,
+ create_time timestamp DEFAULT NULL ,
+ update_time timestamp DEFAULT NULL ,
+ PRIMARY KEY (id)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_task_definition_log" (
+ id int NOT NULL ,
+ code bigint NOT NULL,
+ name varchar(255) DEFAULT NULL ,
+ version int NOT NULL ,
+ description text ,
+ project_code bigint DEFAULT NULL ,
+ user_id int DEFAULT NULL ,
+ task_type varchar(50) DEFAULT NULL ,
+ task_params text ,
+ flag int DEFAULT NULL ,
+ task_priority int DEFAULT NULL ,
+ worker_group varchar(255) DEFAULT NULL ,
+ environment_code bigint DEFAULT -1,
+ fail_retry_times int DEFAULT NULL ,
+ fail_retry_interval int DEFAULT NULL ,
+ timeout_flag int DEFAULT NULL ,
+ timeout_notify_strategy int DEFAULT NULL ,
+ timeout int DEFAULT 0 ,
+ delay_time int DEFAULT 0 ,
+ resource_ids text ,
+ operator int DEFAULT NULL ,
+ operate_time timestamp DEFAULT NULL ,
+ create_time timestamp DEFAULT NULL ,
+ update_time timestamp DEFAULT NULL ,
+ PRIMARY KEY (id)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_process_task_relation" (
+ id int NOT NULL ,
+ name varchar(255) DEFAULT NULL ,
+ project_code bigint DEFAULT NULL ,
+ process_definition_code bigint DEFAULT NULL ,
+ process_definition_version int DEFAULT NULL ,
+ pre_task_code bigint DEFAULT NULL ,
+ pre_task_version int DEFAULT 0 ,
+ post_task_code bigint DEFAULT NULL ,
+ post_task_version int DEFAULT 0 ,
+ condition_type int DEFAULT NULL ,
+ condition_params text ,
+ create_time timestamp DEFAULT NULL ,
+ update_time timestamp DEFAULT NULL ,
+ PRIMARY KEY (id)
+ )';
+
+ EXECUTE 'CREATE TABLE IF NOT EXISTS '|| quote_ident(v_schema) ||'."t_ds_process_task_relation_log" (
+ id int NOT NULL ,
+ name varchar(255) DEFAULT NULL ,
+ project_code bigint DEFAULT NULL ,
+ process_definition_code bigint DEFAULT NULL ,
+ process_definition_version int DEFAULT NULL ,
+ pre_task_code bigint DEFAULT NULL ,
+ pre_task_version int DEFAULT 0 ,
+ post_task_code bigint DEFAULT NULL ,
+ post_task_version int DEFAULT 0 ,
+ condition_type int DEFAULT NULL ,
+ condition_params text ,
+ operator int DEFAULT NULL ,
+ operate_time timestamp DEFAULT NULL ,
+ create_time timestamp DEFAULT NULL ,
+ update_time timestamp DEFAULT NULL ,
+ PRIMARY KEY (id)
+ )';
+ return 'Success!';
+ exception when others then
+ ---Raise EXCEPTION '(%)',SQLERRM;
+ return SQLERRM;
END;
-$$ LANGUAGE plpgsql;
-d//
-delimiter ;
-select uc_dolphin_T_t_ds_user_A_state();
-DROP FUNCTION uc_dolphin_T_t_ds_user_A_state();
+$BODY$;
--- uc_dolphin_T_t_ds_tenant_A_tenant_name
-delimiter ;
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_tenant_A_tenant_name();
-delimiter d//
-CREATE FUNCTION uc_dolphin_T_t_ds_tenant_A_tenant_name() RETURNS void AS $$
-BEGIN
- IF EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_CATALOG=current_database()
- AND TABLE_SCHEMA=current_schema()
- AND TABLE_NAME='t_ds_tenant'
- AND COLUMN_NAME ='tenant_name')
- THEN
- ALTER TABLE t_ds_tenant DROP COLUMN "tenant_name";
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-delimiter ;
-select uc_dolphin_T_t_ds_tenant_A_tenant_name();
-DROP FUNCTION uc_dolphin_T_t_ds_tenant_A_tenant_name();
-
--- uc_dolphin_T_t_ds_task_instance_A_first_submit_time
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_task_instance_A_first_submit_time() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_task_instance'
- AND COLUMN_NAME ='first_submit_time')
- THEN
- ALTER TABLE t_ds_task_instance ADD COLUMN first_submit_time timestamp DEFAULT NULL;
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_task_instance_A_first_submit_time();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_task_instance_A_first_submit_time();
-
--- uc_dolphin_T_t_ds_task_instance_A_delay_time
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_task_instance_A_delay_time() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_task_instance'
- AND COLUMN_NAME ='delay_time')
- THEN
- ALTER TABLE t_ds_task_instance ADD COLUMN delay_time int DEFAULT '0';
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_task_instance_A_delay_time();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_task_instance_A_delay_time();
-
--- uc_dolphin_T_t_ds_task_instance_A_var_pool
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_task_instance_A_var_pool() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_task_instance'
- AND COLUMN_NAME ='var_pool')
- THEN
- ALTER TABLE t_ds_task_instance ADD COLUMN var_pool text;
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_task_instance_A_var_pool();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_task_instance_A_var_pool();
-
--- uc_dolphin_T_t_ds_process_instance_A_var_pool
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_process_instance_A_var_pool() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_process_instance'
- AND COLUMN_NAME ='var_pool')
- THEN
- ALTER TABLE t_ds_process_instance ADD COLUMN var_pool text;
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_process_instance_A_var_pool();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_instance_A_var_pool();
-
--- uc_dolphin_T_t_ds_process_definition_A_modify_by
-delimiter d//
-CREATE OR REPLACE FUNCTION ct_dolphin_T_t_ds_process_definition_version() RETURNS void AS $$
-BEGIN
- CREATE TABLE IF NOT EXISTS t_ds_process_definition_version (
- id int NOT NULL ,
- process_definition_id int NOT NULL ,
- version int DEFAULT NULL ,
- process_definition_json text ,
- description text ,
- global_params text ,
- locations text ,
- connects text ,
- receivers text ,
- receivers_cc text ,
- create_time timestamp DEFAULT NULL ,
- timeout int DEFAULT '0' ,
- resource_ids varchar(64),
- PRIMARY KEY (id)
- ) ;
- create index process_definition_id_and_version on t_ds_process_definition_version (process_definition_id,version);
-
- DROP SEQUENCE IF EXISTS t_ds_process_definition_version_id_sequence;
- CREATE SEQUENCE t_ds_process_definition_version_id_sequence;
- ALTER TABLE t_ds_process_definition_version ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_process_definition_version_id_sequence');
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT ct_dolphin_T_t_ds_process_definition_version();
-DROP FUNCTION IF EXISTS 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 serial NOT NULL,
- plugin_name varchar(100) NOT NULL,
- plugin_type varchar(100) NOT NULL,
- plugin_params text NULL,
- create_time timestamp NULL,
- update_time timestamp NULL,
- CONSTRAINT t_ds_plugin_define_pk PRIMARY KEY (id),
- CONSTRAINT t_ds_plugin_define_un UNIQUE (plugin_name, plugin_type)
-);
-
--- ----------------------------
--- 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 serial NOT NULL,
- plugin_define_id int4 NOT NULL,
- plugin_instance_params text NULL,
- create_time timestamp NULL,
- update_time timestamp NULL,
- instance_name varchar(200) NULL,
- CONSTRAINT t_ds_alert_plugin_instance_pk PRIMARY KEY (id)
-);
-
--- uc_dolphin_T_t_ds_process_definition_A_warning_group_id
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_process_definition_A_warning_group_id() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_process_definition'
- AND COLUMN_NAME ='warning_group_id')
- THEN
- ALTER TABLE t_ds_process_definition ADD COLUMN warning_group_id int4 DEFAULT NULL;
- COMMENT ON COLUMN t_ds_process_definition.warning_group_id IS 'alert group id';
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_process_definition_A_warning_group_id();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_definition_A_warning_group_id();
-
--- uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_process_definition_version'
- AND COLUMN_NAME ='warning_group_id')
- THEN
- ALTER TABLE t_ds_process_definition_version ADD COLUMN warning_group_id int4 DEFAULT NULL;
- COMMENT ON COLUMN t_ds_process_definition_version.warning_group_id IS 'alert group id';
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_definition_version_A_warning_group_id();
-
--- uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_alertgroup'
- AND COLUMN_NAME ='alert_instance_ids')
- THEN
- ALTER TABLE t_ds_alertgroup ADD COLUMN alert_instance_ids varchar (255) DEFAULT NULL;
- COMMENT ON COLUMN t_ds_alertgroup.alert_instance_ids IS 'alert instance ids';
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_alertgroup_A_alert_instance_ids();
-
--- uc_dolphin_T_t_ds_alertgroup_A_create_user_id
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_alertgroup_A_create_user_id() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_alertgroup'
- AND COLUMN_NAME ='create_user_id')
- THEN
- ALTER TABLE t_ds_alertgroup ADD COLUMN create_user_id int4 DEFAULT NULL;
- COMMENT ON COLUMN t_ds_alertgroup.create_user_id IS 'create user id';
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_alertgroup_A_create_user_id();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_alertgroup_A_create_user_id();
-
--- uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM pg_stat_all_indexes
- WHERE relname='t_ds_alertgroup'
- AND indexrelname ='t_ds_alertgroup_name_un')
- THEN
- ALTER TABLE t_ds_alertgroup ADD CONSTRAINT t_ds_alertgroup_name_un UNIQUE (group_name);
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_alertgroup_A_add_UN_groupName();
-
--- uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM pg_stat_all_indexes
- WHERE relname='t_ds_datasource'
- AND indexrelname ='t_ds_datasource_name_un')
- THEN
- ALTER TABLE t_ds_datasource ADD CONSTRAINT t_ds_datasource_name_un UNIQUE (name, type);
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_datasource_A_add_UN_datasourceName();
-
--- uc_dolphin_T_t_ds_schedules_A_add_timezone
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_schedules_A_add_timezone() RETURNS void AS $$
-BEGIN
- IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
- WHERE TABLE_NAME='t_ds_schedules'
- AND COLUMN_NAME ='timezone_id')
- THEN
-ALTER TABLE t_ds_schedules ADD COLUMN timezone_id varchar(40) DEFAULT NULL;
-END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_schedules_A_add_timezone();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_schedules_A_add_timezone();
-
---
--- Table structure for table t_ds_environment
---
-DROP TABLE IF EXISTS t_ds_environment;
-CREATE TABLE t_ds_environment (
- id serial NOT NULL ,
- code bigint NOT NULL,
- name varchar(100) DEFAULT NULL ,
- config text DEFAULT NULL ,
- description text ,
- operator int DEFAULT NULL ,
- create_time timestamp DEFAULT NULL ,
- update_time timestamp DEFAULT NULL ,
- PRIMARY KEY (id) ,
- CONSTRAINT environment_name_unique UNIQUE (name),
- CONSTRAINT environment_code_unique UNIQUE (code)
-);
-
-ALTER TABLE t_ds_task_definition ADD COLUMN environment_code bigint DEFAULT '-1';
-comment on column t_ds_task_definition.environment_code is 'environment code';
-
-ALTER TABLE t_ds_task_definition_log ADD COLUMN environment_code bigint DEFAULT '-1';
-comment on column t_ds_task_definition_log.environment_code is 'environment code';
-
-ALTER TABLE t_ds_command ADD COLUMN environment_code bigint DEFAULT '-1';
-comment on column t_ds_command.environment_code is 'environment code';
-
-ALTER TABLE t_ds_error_command ADD COLUMN environment_code bigint DEFAULT '-1';
-comment on column t_ds_error_command.environment_code is 'environment code';
-
-ALTER TABLE t_ds_schedules ADD COLUMN environment_code bigint DEFAULT '-1';
-comment on column t_ds_schedules.environment_code is 'environment code';
-
-ALTER TABLE t_ds_process_instance ADD COLUMN environment_code bigint DEFAULT '-1';
-comment on column t_ds_process_instance.environment_code is 'environment code';
-
-ALTER TABLE t_ds_task_instance ADD COLUMN environment_code bigint DEFAULT '-1';
-comment on column t_ds_task_instance.environment_code is 'environment code';
-
-ALTER TABLE t_ds_task_instance ADD COLUMN environment_config text;
-comment on column t_ds_task_instance.environment_config is 'environment config';
-
---
--- Table structure for table 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 serial NOT NULL,
- environment_code bigint NOT NULL,
- worker_group varchar(255) NOT NULL,
- operator int DEFAULT NULL,
- create_time timestamp DEFAULT NULL,
- update_time timestamp DEFAULT NULL,
- PRIMARY KEY (id) ,
- CONSTRAINT environment_worker_group_unique UNIQUE (environment_code,worker_group)
-);
-
-ALTER TABLE t_ds_task_definition ALTER COLUMN resource_ids TYPE text;
-ALTER TABLE t_ds_task_definition_log ALTER COLUMN resource_ids TYPE text;
-
--- uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName
-delimiter d//
-CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName() RETURNS void AS $$
-BEGIN
- IF EXISTS (SELECT 1 FROM pg_stat_all_indexes
- WHERE relname='t_ds_task_definition'
- AND indexrelname ='task_definition_unique')
- ALTER TABLE t_ds_task_definition drop CONSTRAINT task_definition_unique;
- END IF;
-END;
-$$ LANGUAGE plpgsql;
-d//
-
-delimiter ;
-SELECT uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName();
-DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_task_definition_A_drop_UN_taskName();
-
--- ----------------------------
--- 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 COLUMN "show_type", DROP COLUMN "alert_type", DROP COLUMN "receivers", DROP COLUMN "receivers_cc";
-
--- ALTER TABLE t_ds_alertgroup DROP COLUMN "group_type";
-
--- ALTER TABLE t_ds_process_definition DROP COLUMN "receivers", DROP COLUMN "receivers_cc";
-
--- ALTER TABLE t_ds_process_definition_version DROP COLUMN "receivers", DROP COLUMN "receivers_cc";
-
--- DROP TABLE IF EXISTS t_ds_relation_user_alertgroup;
-
--- ALTER TABLE t_ds_command DROP COLUMN "dependence";
-
--- ALTER TABLE t_ds_error_command DROP COLUMN "dependence";
\ No newline at end of file
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
index 5f26e35..728b6bd 100644
--- a/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql
+++ b/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql
@@ -15,3 +15,13 @@
* limitations under the License.
*/
+ALTER TABLE "t_ds_process_definition" DROP CONSTRAINT "t_ds_process_definition_pkey";
+ALTER TABLE "t_ds_process_definition" ADD CONSTRAINT "t_ds_process_definition_pkey" PRIMARY KEY ("id","code");
+ALTER TABLE "t_ds_process_definition" DROP CONSTRAINT "process_definition_unique";
+DROP INDEX "process_definition_index";
+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