diff --git a/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/mysql/dolphinscheduler_ddl.sql b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/mysql/dolphinscheduler_ddl.sql new file mode 100644 index 0000000000..4a14f326b9 --- /dev/null +++ b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/mysql/dolphinscheduler_ddl.sql @@ -0,0 +1,16 @@ +/* + * 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/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/mysql/dolphinscheduler_dml.sql b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/mysql/dolphinscheduler_dml.sql new file mode 100644 index 0000000000..06d8fcb465 --- /dev/null +++ b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/mysql/dolphinscheduler_dml.sql @@ -0,0 +1,96 @@ +/* + * 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. +*/ + +DELETE FROM t_ds_process_task_relation_log WHERE id IN +( + SELECT + x.id + FROM + ( + SELECT + aa.id + FROM + t_ds_process_task_relation_log aa + JOIN + ( + SELECT + a.process_definition_code + ,MAX(a.id) as min_id + ,a.pre_task_code + ,a.pre_task_version + ,a.post_task_code + ,a.post_task_version + ,a.process_definition_version + ,COUNT(*) cnt + FROM + t_ds_process_task_relation_log a + JOIN ( + SELECT + code + FROM + t_ds_process_definition + GROUP BY code + )b ON b.code = a.process_definition_code + WHERE 1=1 + GROUP BY a.pre_task_code + ,a.post_task_code + ,a.pre_task_version + ,a.post_task_version + ,a.process_definition_code + ,a.process_definition_version + HAVING COUNT(*) > 1 + )bb ON bb.process_definition_code = aa.process_definition_code + AND bb.pre_task_code = aa.pre_task_code + AND bb.post_task_code = aa.post_task_code + AND bb.process_definition_version = aa.process_definition_version + AND bb.pre_task_version = aa.pre_task_version + AND bb.post_task_version = aa.post_task_version + AND bb.min_id != aa.id + )x +) +; + +DELETE FROM t_ds_task_definition_log WHERE id IN +( + SELECT + x.id + FROM + ( + SELECT + a.id + FROM + t_ds_task_definition_log a + JOIN + ( + SELECT + code + ,name + ,version + ,MAX(id) AS min_id + FROM + t_ds_task_definition_log + GROUP BY code + ,name + ,version + HAVING COUNT(*) > 1 + )b ON b.code = a.code + AND b.name = a.name + AND b.version = a.version + AND b.min_id != a.id + )x +) +; diff --git a/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/postgresql/dolphinscheduler_ddl.sql b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/postgresql/dolphinscheduler_ddl.sql new file mode 100644 index 0000000000..4a14f326b9 --- /dev/null +++ b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/postgresql/dolphinscheduler_ddl.sql @@ -0,0 +1,16 @@ +/* + * 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/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/postgresql/dolphinscheduler_dml.sql b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/postgresql/dolphinscheduler_dml.sql new file mode 100644 index 0000000000..06d8fcb465 --- /dev/null +++ b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.4_schema/postgresql/dolphinscheduler_dml.sql @@ -0,0 +1,96 @@ +/* + * 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. +*/ + +DELETE FROM t_ds_process_task_relation_log WHERE id IN +( + SELECT + x.id + FROM + ( + SELECT + aa.id + FROM + t_ds_process_task_relation_log aa + JOIN + ( + SELECT + a.process_definition_code + ,MAX(a.id) as min_id + ,a.pre_task_code + ,a.pre_task_version + ,a.post_task_code + ,a.post_task_version + ,a.process_definition_version + ,COUNT(*) cnt + FROM + t_ds_process_task_relation_log a + JOIN ( + SELECT + code + FROM + t_ds_process_definition + GROUP BY code + )b ON b.code = a.process_definition_code + WHERE 1=1 + GROUP BY a.pre_task_code + ,a.post_task_code + ,a.pre_task_version + ,a.post_task_version + ,a.process_definition_code + ,a.process_definition_version + HAVING COUNT(*) > 1 + )bb ON bb.process_definition_code = aa.process_definition_code + AND bb.pre_task_code = aa.pre_task_code + AND bb.post_task_code = aa.post_task_code + AND bb.process_definition_version = aa.process_definition_version + AND bb.pre_task_version = aa.pre_task_version + AND bb.post_task_version = aa.post_task_version + AND bb.min_id != aa.id + )x +) +; + +DELETE FROM t_ds_task_definition_log WHERE id IN +( + SELECT + x.id + FROM + ( + SELECT + a.id + FROM + t_ds_task_definition_log a + JOIN + ( + SELECT + code + ,name + ,version + ,MAX(id) AS min_id + FROM + t_ds_task_definition_log + GROUP BY code + ,name + ,version + HAVING COUNT(*) > 1 + )b ON b.code = a.code + AND b.name = a.name + AND b.version = a.version + AND b.min_id != a.id + )x +) +;