Browse Source

Fix sql upgrade scripts

pull/5707/head
Igor Kulikov 5 years ago
parent
commit
1d8256b419
  1. 4
      application/src/main/data/upgrade/3.3.2/schema_update.sql
  2. 8
      application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java

4
application/src/main/data/upgrade/3.3.2/schema_update.sql

@ -20,8 +20,8 @@ CREATE TABLE IF NOT EXISTS entity_alarm (
created_time bigint NOT NULL,
type varchar(255) NOT NULL,
customer_id uuid,
alarm_id uuid
CONSTRAINT entity_alarm_pkey PRIMARY KEY(entity_id, alarm_id),
alarm_id uuid,
CONSTRAINT entity_alarm_pkey PRIMARY KEY (entity_id, alarm_id),
CONSTRAINT fk_entity_alarm_id FOREIGN KEY (alarm_id) REFERENCES alarm(id) ON DELETE CASCADE
);

8
application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java

@ -475,10 +475,10 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService
schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "3.3.2", SCHEMA_UPDATE_SQL);
loadSql(schemaUpdateFile, conn);
try {
conn.createStatement().execute("insert into entity_alarm(tenant_id, entity_id, created_time, type, customer_id, alarm_id, status, severity)" +
" select tenant_id, originator_id, created_time, type, customer_id, id, status, severity from alarm;");
conn.createStatement().execute("insert into entity_alarm(tenant_id, entity_id, created_time, type, customer_id, alarm_id, status, severity)" +
" select a.tenant_id, r.from_id, created_time, type, customer_id, id, status, severity" +
conn.createStatement().execute("insert into entity_alarm(tenant_id, entity_id, created_time, type, customer_id, alarm_id)" +
" select tenant_id, originator_id, created_time, type, customer_id, id from alarm;");
conn.createStatement().execute("insert into entity_alarm(tenant_id, entity_id, created_time, type, customer_id, alarm_id)" +
" select a.tenant_id, r.from_id, created_time, type, customer_id, id" +
" from alarm a inner join relation r on r.relation_type_group = 'ALARM' and r.relation_type = 'ANY' and a.id = r.to_id ON CONFLICT DO NOTHING;");
conn.createStatement().execute("delete from relation r where r.relation_type_group = 'ALARM';");
} catch (Exception e) {

Loading…
Cancel
Save