From 118b2b7e10182e28e731b9232e64ab4b3ddc0a5d Mon Sep 17 00:00:00 2001 From: IrynaMatveieva Date: Fri, 13 Sep 2024 17:17:23 +0300 Subject: [PATCH 1/3] added upgrade script for device profile node --- .../service/install/SqlDatabaseUpgradeService.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java index 2d5ac5a99b..bfe389d6ff 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java @@ -122,7 +122,19 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService updateSchema("3.6.4", 3006004, "3.7.0", 3007000, null); break; case "3.7.0": - updateSchema("3.7.0", 3007000, "3.7.1", 3007001, null); + updateSchema("3.7.0", 3007000, "3.7.1", 3007001, connection -> { + try { + connection.createStatement().execute("UPDATE rule_node SET " + + "configuration = CASE " + + " WHEN (configuration::jsonb ->> 'persistAlarmRulesState')::boolean = false THEN jsonb_set(configuration::jsonb, '{fetchAlarmRulesStateOnStart}', 'false'::jsonb)::varchar " + + " ELSE configuration " + + "END, " + + "configuration_version = 1 " + + "WHERE type = 'org.thingsboard.rule.engine.profile.TbDeviceProfileNode' " + + "AND configuration_version < 1;"); + } catch (Exception e) { + } + }); break; default: throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion); From af0ed296443a5341f732fd6589fef17f8d8cae26 Mon Sep 17 00:00:00 2001 From: IrynaMatveieva Date: Mon, 16 Sep 2024 14:30:00 +0300 Subject: [PATCH 2/3] fixed upgrade script --- .../server/service/install/SqlDatabaseUpgradeService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java index bfe389d6ff..32833a63ba 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java @@ -126,7 +126,8 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService try { connection.createStatement().execute("UPDATE rule_node SET " + "configuration = CASE " + - " WHEN (configuration::jsonb ->> 'persistAlarmRulesState')::boolean = false THEN jsonb_set(configuration::jsonb, '{fetchAlarmRulesStateOnStart}', 'false'::jsonb)::varchar " + + " WHEN (configuration::jsonb ->> 'persistAlarmRulesState') = 'false'" + + " THEN (configuration::jsonb || '{\"fetchAlarmRulesStateOnStart\": \"false\"}'::jsonb)::varchar " + " ELSE configuration " + "END, " + "configuration_version = 1 " + From 7e70e79f2fe3424c1ac4a63161c842973fdd8a30 Mon Sep 17 00:00:00 2001 From: IrynaMatveieva Date: Mon, 16 Sep 2024 15:39:06 +0300 Subject: [PATCH 3/3] added log --- .../server/service/install/SqlDatabaseUpgradeService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java index 32833a63ba..b3d20ff5e9 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java @@ -134,6 +134,7 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService "WHERE type = 'org.thingsboard.rule.engine.profile.TbDeviceProfileNode' " + "AND configuration_version < 1;"); } catch (Exception e) { + log.warn("Failed to execute update script for device profile rule nodes due to: ", e); } }); break;