Merge branch 'release-1.3'
This commit is contained in:
commit
626eb75b82
17
application/src/main/data/upgrade/1.3.1/schema_update.sql
Normal file
17
application/src/main/data/upgrade/1.3.1/schema_update.sql
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
--
|
||||||
|
-- Copyright © 2016-2017 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 ts_kv_latest ALTER COLUMN str_v varchar(10000000);
|
||||||
@ -71,7 +71,7 @@ public class ThingsboardInstallService {
|
|||||||
case "1.2.3": //NOSONAR, Need to execute gradual upgrade starting from upgradeFromVersion
|
case "1.2.3": //NOSONAR, Need to execute gradual upgrade starting from upgradeFromVersion
|
||||||
log.info("Upgrading ThingsBoard from version 1.2.3 to 1.3.0 ...");
|
log.info("Upgrading ThingsBoard from version 1.2.3 to 1.3.0 ...");
|
||||||
|
|
||||||
databaseUpgradeService.upgradeDatabase(upgradeFromVersion);
|
databaseUpgradeService.upgradeDatabase("1.2.3");
|
||||||
|
|
||||||
log.info("Updating system data...");
|
log.info("Updating system data...");
|
||||||
|
|
||||||
@ -86,6 +86,8 @@ public class ThingsboardInstallService {
|
|||||||
case "1.3.0":
|
case "1.3.0":
|
||||||
log.info("Upgrading ThingsBoard from version 1.3.0 to 1.3.1 ...");
|
log.info("Upgrading ThingsBoard from version 1.3.0 to 1.3.1 ...");
|
||||||
|
|
||||||
|
databaseUpgradeService.upgradeDatabase("1.3.0");
|
||||||
|
|
||||||
log.info("Updating system data...");
|
log.info("Updating system data...");
|
||||||
|
|
||||||
systemDataLoaderService.deleteSystemWidgetBundle("charts");
|
systemDataLoaderService.deleteSystemWidgetBundle("charts");
|
||||||
|
|||||||
@ -154,6 +154,8 @@ public class CassandraDatabaseUpgradeService implements DatabaseUpgradeService {
|
|||||||
}
|
}
|
||||||
log.info("Relations restored.");
|
log.info("Relations restored.");
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "1.3.0":
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new RuntimeException("Unable to upgrade Cassandra database, unsupported fromVersion: " + fromVersion);
|
throw new RuntimeException("Unable to upgrade Cassandra database, unsupported fromVersion: " + fromVersion);
|
||||||
|
|||||||
@ -17,19 +17,50 @@
|
|||||||
package org.thingsboard.server.service.install;
|
package org.thingsboard.server.service.install;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.thingsboard.server.dao.util.SqlDao;
|
import org.thingsboard.server.dao.util.SqlDao;
|
||||||
|
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Profile("install")
|
@Profile("install")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@SqlDao
|
@SqlDao
|
||||||
public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
|
public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
|
||||||
|
|
||||||
|
private static final String SCHEMA_UPDATE_SQL = "schema_update.sql";
|
||||||
|
|
||||||
|
@Value("${install.data_dir}")
|
||||||
|
private String dataDir;
|
||||||
|
|
||||||
|
@Value("${spring.datasource.url}")
|
||||||
|
private String dbUrl;
|
||||||
|
|
||||||
|
@Value("${spring.datasource.username}")
|
||||||
|
private String dbUserName;
|
||||||
|
|
||||||
|
@Value("${spring.datasource.password}")
|
||||||
|
private String dbPassword;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void upgradeDatabase(String fromVersion) throws Exception {
|
public void upgradeDatabase(String fromVersion) throws Exception {
|
||||||
switch (fromVersion) {
|
switch (fromVersion) {
|
||||||
|
case "1.3.0":
|
||||||
|
log.info("Updating schema ...");
|
||||||
|
Path schemaUpdateFile = Paths.get(this.dataDir, "upgrade", "1.3.1", SCHEMA_UPDATE_SQL);
|
||||||
|
try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) {
|
||||||
|
String sql = new String(Files.readAllBytes(schemaUpdateFile), Charset.forName("UTF-8"));
|
||||||
|
conn.createStatement().execute(sql); //NOSONAR, ignoring because method used to execute thingsboard database upgrade script
|
||||||
|
}
|
||||||
|
log.info("Schema updated.");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion);
|
throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -209,7 +209,7 @@ CREATE TABLE IF NOT EXISTS ts_kv_latest (
|
|||||||
key varchar(255) NOT NULL,
|
key varchar(255) NOT NULL,
|
||||||
ts bigint NOT NULL,
|
ts bigint NOT NULL,
|
||||||
bool_v boolean,
|
bool_v boolean,
|
||||||
str_v varchar,
|
str_v varchar(10000000),
|
||||||
long_v bigint,
|
long_v bigint,
|
||||||
dbl_v double precision,
|
dbl_v double precision,
|
||||||
CONSTRAINT ts_kv_latest_unq_key UNIQUE (entity_type, entity_id, key)
|
CONSTRAINT ts_kv_latest_unq_key UNIQUE (entity_type, entity_id, key)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user