From 5262f114ac8bd77e390de5bb9b5fc3ea72c569fe Mon Sep 17 00:00:00 2001 From: fengzero Date: Wed, 19 Feb 2025 06:54:57 +0000 Subject: [PATCH] drop table --- persistence/0110_2.11.0_tag.sql | 24 +++++++++ persistence/0111_2.11.0_sub.sql | 22 ++++++++ persistence/0112_2.11.0_tag.sql | 90 --------------------------------- 3 files changed, 46 insertions(+), 90 deletions(-) create mode 100644 persistence/0110_2.11.0_tag.sql create mode 100644 persistence/0111_2.11.0_sub.sql delete mode 100644 persistence/0112_2.11.0_tag.sql diff --git a/persistence/0110_2.11.0_tag.sql b/persistence/0110_2.11.0_tag.sql new file mode 100644 index 00000000..36c3a7eb --- /dev/null +++ b/persistence/0110_2.11.0_tag.sql @@ -0,0 +1,24 @@ +/** +* NEURON IIoT System for Industry 4.0 +* Copyright (C) 2020-2024 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; + +alter TABLE groups add column context TEXT NULL check(length(context) <= 512); +alter TABLE tags add column format TEXT NULL; + +COMMIT; \ No newline at end of file diff --git a/persistence/0111_2.11.0_sub.sql b/persistence/0111_2.11.0_sub.sql new file mode 100644 index 00000000..34c3bef5 --- /dev/null +++ b/persistence/0111_2.11.0_sub.sql @@ -0,0 +1,22 @@ +BEGIN TRANSACTION; + +DROP TABLE IF EXISTS temp_subscriptions; +ALTER TABLE subscriptions RENAME TO temp_subscriptions; + +CREATE TABLE + IF NOT EXISTS subscriptions ( + app_name TEXT NOT NULL, + driver_name TEXT NOT NULL, + group_name TEXT NOT NULL, + params TEXT DEFAULT NULL, + static_tags TEXT DEFAULT NULL, + CHECK (app_name != driver_name), + UNIQUE (app_name, driver_name, group_name), + FOREIGN KEY (app_name) REFERENCES nodes (name) ON UPDATE CASCADE ON DELETE CASCADE, + FOREIGN KEY (driver_name, group_name) REFERENCES groups (driver_name, name) ON UPDATE CASCADE ON DELETE CASCADE + ); +INSERT INTO subscriptions SELECT app_name, driver_name, group_name, params, NULL FROM temp_subscriptions; + +DROP TABLE temp_subscriptions; + +COMMIT; \ No newline at end of file diff --git a/persistence/0112_2.11.0_tag.sql b/persistence/0112_2.11.0_tag.sql deleted file mode 100644 index 7001820b..00000000 --- a/persistence/0112_2.11.0_tag.sql +++ /dev/null @@ -1,90 +0,0 @@ -/** -* NEURON IIoT System for Industry 4.0 -* Copyright (C) 2020-2024 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; - -ALTER TABLE groups RENAME TO temp_groups; - -CREATE TABLE IF NOT EXISTS - groups ( - driver_name TEXT NOT NULL, - name TEXT NULL check(length(name) <= 32), - interval INTEGER NOT NULL check(interval >= 100), - context TEXT NULL check(length(context) <= 512), - UNIQUE (driver_name, name), - FOREIGN KEY (driver_name) REFERENCES nodes (name) ON UPDATE CASCADE ON DELETE CASCADE - ); -INSERT INTO groups SELECT driver_name, name, interval, NULL FROM temp_groups; - -DROP TABLE temp_groups; - -ALTER TABLE tags RENAME TO old_tags; - -CREATE TABLE - IF NOT EXISTS tags ( - driver_name TEXT NOT NULL, - group_name TEXT NOT NULL, - name TEXT NULL check (length (name) <= 128), - 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, - bias REAL NOT NULL check (bias BETWEEN -1000 AND 1000), - type INTEGER NOT NULL check (type BETWEEN 0 AND 40), - description TEXT NULL check (length (description) <= 512), - value TEXT NULL, - format TEXT 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, - bias, - type, - description, - NULL, - NULL -FROM old_tags; - -ALTER TABLE subscriptions RENAME TO temp_subscriptions; -CREATE TABLE - IF NOT EXISTS subscriptions ( - app_name TEXT NOT NULL, - driver_name TEXT NOT NULL, - group_name TEXT NOT NULL, - params TEXT DEFAULT NULL, - static_tags TEXT DEFAULT NULL, - CHECK (app_name != driver_name), - UNIQUE (app_name, driver_name, group_name), - FOREIGN KEY (app_name) REFERENCES nodes (name) ON UPDATE CASCADE ON DELETE CASCADE, - FOREIGN KEY (driver_name, group_name) REFERENCES groups (driver_name, name) ON UPDATE CASCADE ON DELETE CASCADE - ); -INSERT INTO subscriptions SELECT app_name, driver_name, group_name, params, NULL FROM temp_subscriptions; - -DROP TABLE temp_subscriptions; - -COMMIT; \ No newline at end of file