diff --git a/application/src/main/java/org/thingsboard/server/service/install/DatabaseHelper.java b/application/src/main/java/org/thingsboard/server/service/install/DatabaseHelper.java index 44f42dd570..d26565f0b5 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/DatabaseHelper.java +++ b/application/src/main/java/org/thingsboard/server/service/install/DatabaseHelper.java @@ -55,7 +55,7 @@ public class DatabaseHelper { public static void upgradeTo40_assignDashboards(Path dashboardsDump, DashboardService dashboardService, boolean sql) throws Exception { String[] columns = new String[]{ID, TENANT_ID, CUSTOMER_ID, TITLE, SEARCH_TEXT, ASSIGNED_CUSTOMERS, CONFIGURATION}; - try (CSVParser csvParser = new CSVParser(Files.newBufferedReader(dashboardsDump), CSV_DUMP_FORMAT.withHeader(columns))) { + try (CSVParser csvParser = new CSVParser(Files.newBufferedReader(dashboardsDump), CSV_DUMP_FORMAT.withFirstRecordAsHeader())) { csvParser.forEach(record -> { String customerIdString = record.get(CUSTOMER_ID); String assignedCustomersString = record.get(ASSIGNED_CUSTOMERS); @@ -66,14 +66,20 @@ public class DatabaseHelper { JsonNode assignedCustomersJson = objectMapper.readTree(assignedCustomersString); Map assignedCustomers = objectMapper.treeToValue(assignedCustomersJson, HashMap.class); assignedCustomers.forEach((strCustomerId, title) -> { - customerIds.add(new CustomerId(UUID.fromString(strCustomerId))); + CustomerId customerId = new CustomerId(UUID.fromString(strCustomerId)); + if (!customerId.isNullUid()) { + customerIds.add(new CustomerId(UUID.fromString(strCustomerId))); + } }); } catch (IOException e) { log.error("Unable to parse assigned customers field", e); } } if (!StringUtils.isEmpty(customerIdString)) { - customerIds.add(new CustomerId(toUUID(customerIdString, sql))); + CustomerId customerId = new CustomerId(toUUID(customerIdString, sql)); + if (!customerId.isNullUid()) { + customerIds.add(new CustomerId(toUUID(customerIdString, sql))); + } } for (CustomerId customerId : customerIds) { dashboardService.assignDashboardToCustomer(dashboardId, customerId);