From 7c381995fb1cf6c1d922deb657a43941098d5c52 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Fri, 9 Nov 2018 12:49:51 +0200 Subject: [PATCH 1/2] Fix for entity view keys sql field --- .../main/data/upgrade/2.2.1/schema_update.sql | 17 +++++++++++++++++ .../install/ThingsboardInstallService.java | 6 ++++++ .../install/SqlDatabaseUpgradeService.java | 8 ++++++++ .../dao/model/nosql/EntityViewEntity.java | 8 ++++---- dao/src/main/resources/sql/schema-entities.sql | 2 +- 5 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 application/src/main/data/upgrade/2.2.1/schema_update.sql diff --git a/application/src/main/data/upgrade/2.2.1/schema_update.sql b/application/src/main/data/upgrade/2.2.1/schema_update.sql new file mode 100644 index 0000000000..445a258772 --- /dev/null +++ b/application/src/main/data/upgrade/2.2.1/schema_update.sql @@ -0,0 +1,17 @@ +-- +-- Copyright © 2016-2018 The Thingsboard Authors +-- +-- Licensed 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. +-- + +ALTER TABLE entity_view ALTER COLUMN keys SET DATA TYPE varchar(10000000); \ No newline at end of file diff --git a/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java b/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java index f87f0461c4..a35baea9f9 100644 --- a/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java +++ b/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java @@ -101,11 +101,17 @@ public class ThingsboardInstallService { log.info("Upgrading ThingsBoard from version 2.1.1 to 2.1.2 ..."); databaseUpgradeService.upgradeDatabase("2.1.1"); + case "2.1.3": log.info("Upgrading ThingsBoard from version 2.1.3 to 2.2.0 ..."); databaseUpgradeService.upgradeDatabase("2.1.3"); + case "2.2.0": + log.info("Upgrading ThingsBoard from version 2.2.0 to 2.2.1 ..."); + + databaseUpgradeService.upgradeDatabase("2.2.0"); + log.info("Updating system data..."); systemDataLoaderService.deleteSystemWidgetBundle("charts"); 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 b4a725d941..34c396b56d 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 @@ -157,6 +157,14 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService { log.info("Schema updated."); } break; + case "2.2.0": + try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) { + log.info("Updating schema ..."); + schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "2.2.1", SCHEMA_UPDATE_SQL); + loadSql(schemaUpdateFile, conn); + log.info("Schema updated."); + } + break; default: throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java b/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java index cda4217694..5c9f717127 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java +++ b/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java @@ -60,10 +60,6 @@ public class EntityViewEntity implements SearchTextEntity { @Column(name = ID_PROPERTY) private UUID id; - @Enumerated(EnumType.STRING) - @Column(name = ENTITY_TYPE_PROPERTY) - private EntityType entityType; - @PartitionKey(value = 1) @Column(name = ModelConstants.ENTITY_VIEW_TENANT_ID_PROPERTY) private UUID tenantId; @@ -76,6 +72,10 @@ public class EntityViewEntity implements SearchTextEntity { @Column(name = DEVICE_TYPE_PROPERTY) private String type; + @Enumerated(EnumType.STRING) + @Column(name = ENTITY_TYPE_PROPERTY) + private EntityType entityType; + @Column(name = ModelConstants.ENTITY_VIEW_ENTITY_ID_PROPERTY) private UUID entityId; diff --git a/dao/src/main/resources/sql/schema-entities.sql b/dao/src/main/resources/sql/schema-entities.sql index fc23832d56..6d08611035 100644 --- a/dao/src/main/resources/sql/schema-entities.sql +++ b/dao/src/main/resources/sql/schema-entities.sql @@ -236,7 +236,7 @@ CREATE TABLE IF NOT EXISTS entity_view ( customer_id varchar(31), type varchar(255), name varchar(255), - keys varchar(255), + keys varchar(10000000), start_ts bigint, end_ts bigint, search_text varchar(255), From 0eff2acd5c3dbf5c407bebd89b2f6eeaf4170938 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Fri, 9 Nov 2018 12:55:07 +0200 Subject: [PATCH 2/2] Fix for entity view keys sql field --- .../main/data/upgrade/2.2.0/schema_update.sql | 2 ++ .../main/data/upgrade/2.2.1/schema_update.sql | 17 ----------------- .../install/ThingsboardInstallService.java | 6 ------ .../install/SqlDatabaseUpgradeService.java | 8 -------- 4 files changed, 2 insertions(+), 31 deletions(-) delete mode 100644 application/src/main/data/upgrade/2.2.1/schema_update.sql diff --git a/application/src/main/data/upgrade/2.2.0/schema_update.sql b/application/src/main/data/upgrade/2.2.0/schema_update.sql index 1832b7901b..c97775abf8 100644 --- a/application/src/main/data/upgrade/2.2.0/schema_update.sql +++ b/application/src/main/data/upgrade/2.2.0/schema_update.sql @@ -15,3 +15,5 @@ -- ALTER TABLE component_descriptor ADD UNIQUE (clazz); + +ALTER TABLE entity_view ALTER COLUMN keys SET DATA TYPE varchar(10000000); diff --git a/application/src/main/data/upgrade/2.2.1/schema_update.sql b/application/src/main/data/upgrade/2.2.1/schema_update.sql deleted file mode 100644 index 445a258772..0000000000 --- a/application/src/main/data/upgrade/2.2.1/schema_update.sql +++ /dev/null @@ -1,17 +0,0 @@ --- --- Copyright © 2016-2018 The Thingsboard Authors --- --- Licensed 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. --- - -ALTER TABLE entity_view ALTER COLUMN keys SET DATA TYPE varchar(10000000); \ No newline at end of file diff --git a/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java b/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java index a35baea9f9..f87f0461c4 100644 --- a/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java +++ b/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java @@ -101,17 +101,11 @@ public class ThingsboardInstallService { log.info("Upgrading ThingsBoard from version 2.1.1 to 2.1.2 ..."); databaseUpgradeService.upgradeDatabase("2.1.1"); - case "2.1.3": log.info("Upgrading ThingsBoard from version 2.1.3 to 2.2.0 ..."); databaseUpgradeService.upgradeDatabase("2.1.3"); - case "2.2.0": - log.info("Upgrading ThingsBoard from version 2.2.0 to 2.2.1 ..."); - - databaseUpgradeService.upgradeDatabase("2.2.0"); - log.info("Updating system data..."); systemDataLoaderService.deleteSystemWidgetBundle("charts"); 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 34c396b56d..b4a725d941 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 @@ -157,14 +157,6 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService { log.info("Schema updated."); } break; - case "2.2.0": - try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) { - log.info("Updating schema ..."); - schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "2.2.1", SCHEMA_UPDATE_SQL); - loadSql(schemaUpdateFile, conn); - log.info("Schema updated."); - } - break; default: throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion); }