From 34785cb17743dc88347c8972f7436607c79d4f7f Mon Sep 17 00:00:00 2001 From: eeff <33566201+eeff@users.noreply.github.com> Date: Wed, 8 Feb 2023 00:11:23 +0800 Subject: [PATCH 1/2] chore: version 0002 sql schema compatible fix --- persistence/0002_2.4.0_subscription_params.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/persistence/0002_2.4.0_subscription_params.sql b/persistence/0002_2.4.0_subscription_params.sql index 40a383ea..127546e3 100644 --- a/persistence/0002_2.4.0_subscription_params.sql +++ b/persistence/0002_2.4.0_subscription_params.sql @@ -19,11 +19,12 @@ BEGIN TRANSACTION; DROP TABLE - old_subscriptions; + IF EXISTS old_subscriptions; ALTER TABLE subscriptions RENAME TO old_subscriptions; +-- add column params for subscription parameters CREATE TABLE IF NOT EXISTS subscriptions ( app_name TEXT NOT NULL, @@ -37,7 +38,7 @@ CREATE TABLE ); INSERT INTO - subscriptions (app_name, driver_name, group_name, params) + subscriptions SELECT app_name, driver_name, From 79003cb25ca5f597227587b96cb28bfddf57698d Mon Sep 17 00:00:00 2001 From: eeff <33566201+eeff@users.noreply.github.com> Date: Wed, 8 Feb 2023 00:19:08 +0800 Subject: [PATCH 2/2] feat: add sql schema for static tag value persistence --- persistence/0003_2.4.0_static_tag.sql | 64 +++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 persistence/0003_2.4.0_static_tag.sql diff --git a/persistence/0003_2.4.0_static_tag.sql b/persistence/0003_2.4.0_static_tag.sql new file mode 100644 index 00000000..ec32b334 --- /dev/null +++ b/persistence/0003_2.4.0_static_tag.sql @@ -0,0 +1,64 @@ +/** + * NEURON IIoT System for Industry 4.0 + * Copyright (C) 2020-2023 EMQ Technologies Co., Ltd All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + **/ +BEGIN TRANSACTION; + +DROP TABLE + IF EXISTS old_tags; + +ALTER TABLE + tags RENAME TO old_tags; + +-- alter attribute column constraint for static tags +-- add value column +CREATE TABLE + IF NOT EXISTS tags ( + driver_name TEXT NOT NULL, + group_name TEXT NOT NULL, + name TEXT NULL check(length(name) <= 64), + address TEXT NULL check(length(address) <= 128), + attribute INTEGER NOT NULL check(attribute BETWEEN 0 AND 15), + PRECISION INTEGER NOT NULL check(PRECISION BETWEEN 0 AND 17), + decimal REAL NOT NULL, + TYPE INTEGER NOT NULL check(TYPE BETWEEN 0 AND 19), + description TEXT NULL check(length(description) <= 128), + value TEXT DEFAULT NULL, + UNIQUE (driver_name, group_name, name), + FOREIGN KEY (driver_name, group_name) REFERENCES groups (driver_name, name) ON UPDATE CASCADE ON DELETE CASCADE + ); + +INSERT INTO + tags +SELECT + driver_name, + group_name, + name, + address, + attribute, + PRECISION, + decimal, + TYPE, + description, + NULL +FROM + old_tags; + +DROP TABLE + old_tags; + +COMMIT;