Merge branch 'master' into feature/js-module
This commit is contained in:
commit
cc468e34f7
@ -100,19 +100,24 @@ public class ThingsboardInstallService {
|
|||||||
log.info("Migrating ThingsBoard latest timeseries data from cassandra to SQL database ...");
|
log.info("Migrating ThingsBoard latest timeseries data from cassandra to SQL database ...");
|
||||||
latestMigrateService.migrate();
|
latestMigrateService.migrate();
|
||||||
} else {
|
} else {
|
||||||
|
// TODO DON'T FORGET to update SUPPORTED_VERSIONS_FROM in DefaultDatabaseSchemaSettingsService
|
||||||
databaseSchemaVersionService.validateSchemaSettings();
|
databaseSchemaVersionService.validateSchemaSettings();
|
||||||
//TODO DON'T FORGET to update SUPPORTED_VERSIONS_FROM in DatabaseSchemaVersionService,
|
|
||||||
// this list should include last version and can include previous versions without upgrade
|
|
||||||
String fromVersion = databaseSchemaVersionService.getDbSchemaVersion();
|
String fromVersion = databaseSchemaVersionService.getDbSchemaVersion();
|
||||||
String toVersion = databaseSchemaVersionService.getPackageSchemaVersion();
|
String toVersion = databaseSchemaVersionService.getPackageSchemaVersion();
|
||||||
log.info("Upgrading ThingsBoard from version {} to {} ...", fromVersion, toVersion);
|
log.info("Upgrading ThingsBoard from version {} to {} ...", fromVersion, toVersion);
|
||||||
cacheCleanupService.clearCache();
|
cacheCleanupService.clearCache();
|
||||||
entityDatabaseSchemaService.createDatabaseSchema(false);
|
// Apply the schema_update.sql script. The script may include DDL statements to change structure
|
||||||
|
// of *existing* tables and DML statements to manipulate the DB records.
|
||||||
databaseEntitiesUpgradeService.upgradeDatabase();
|
databaseEntitiesUpgradeService.upgradeDatabase();
|
||||||
dataUpdateService.updateData(); //TODO: update data should be cleaned after each release
|
// All new tables that do not have any data will be automatically created here.
|
||||||
|
entityDatabaseSchemaService.createDatabaseSchema(false);
|
||||||
|
// Runs upgrade scripts that are not possible in plain SQL.
|
||||||
|
// TODO: clear after each release
|
||||||
|
dataUpdateService.updateData();
|
||||||
|
// Re-create all views, functions.
|
||||||
entityDatabaseSchemaService.createOrUpdateViewsAndFunctions();
|
entityDatabaseSchemaService.createOrUpdateViewsAndFunctions();
|
||||||
entityDatabaseSchemaService.createOrUpdateDeviceInfoView(persistToTelemetry);
|
entityDatabaseSchemaService.createOrUpdateDeviceInfoView(persistToTelemetry);
|
||||||
|
// Creates missing indexes.
|
||||||
entityDatabaseSchemaService.createDatabaseIndexes();
|
entityDatabaseSchemaService.createDatabaseIndexes();
|
||||||
log.info("Updating system data...");
|
log.info("Updating system data...");
|
||||||
dataUpdateService.upgradeRuleNodes();
|
dataUpdateService.upgradeRuleNodes();
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
package org.thingsboard.server.service.install;
|
package org.thingsboard.server.service.install;
|
||||||
|
|
||||||
public interface DatabaseSchemaSettingsService {
|
public interface DatabaseSchemaSettingsService {
|
||||||
|
|
||||||
void validateSchemaSettings();
|
void validateSchemaSettings();
|
||||||
|
|
||||||
void createSchemaSettings();
|
void createSchemaSettings();
|
||||||
@ -25,4 +26,5 @@ public interface DatabaseSchemaSettingsService {
|
|||||||
String getPackageSchemaVersion();
|
String getPackageSchemaVersion();
|
||||||
|
|
||||||
String getDbSchemaVersion();
|
String getDbSchemaVersion();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,6 +32,8 @@ import java.util.List;
|
|||||||
public class DefaultDatabaseSchemaSettingsService implements DatabaseSchemaSettingsService {
|
public class DefaultDatabaseSchemaSettingsService implements DatabaseSchemaSettingsService {
|
||||||
|
|
||||||
private static final String CURRENT_PRODUCT = "CE";
|
private static final String CURRENT_PRODUCT = "CE";
|
||||||
|
// This list should include all versions which are compatible for the upgrade.
|
||||||
|
// The compatibility cycle usually breaks when we have some scripts written in Java that may not work after new release.
|
||||||
private static final List<String> SUPPORTED_VERSIONS_FOR_UPGRADE = List.of("3.8.0", "3.8.1");
|
private static final List<String> SUPPORTED_VERSIONS_FOR_UPGRADE = List.of("3.8.0", "3.8.1");
|
||||||
|
|
||||||
private final BuildProperties buildProperties;
|
private final BuildProperties buildProperties;
|
||||||
|
|||||||
@ -15,9 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.service.subscription;
|
package org.thingsboard.server.service.subscription;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.thingsboard.server.common.data.id.EntityId;
|
import org.thingsboard.server.common.data.id.EntityId;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
|
|
||||||
@ -25,7 +23,6 @@ import java.util.Objects;
|
|||||||
import java.util.function.BiConsumer;
|
import java.util.function.BiConsumer;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@RequiredArgsConstructor
|
|
||||||
public abstract class TbSubscription<T> {
|
public abstract class TbSubscription<T> {
|
||||||
|
|
||||||
/** Cache the hash code */
|
/** Cache the hash code */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user