mirror of
https://github.com/emqx/neuron.git
synced 2026-10-24 02:39:13 +08:00
@@ -32,8 +32,29 @@ VALUES
|
||||
"$5$PwFeXpBBIBZuZdZl$fP8fFPWCLoaWcnVXVSR.3Xi8TEqCvX92gjhowNNn6S4"
|
||||
);
|
||||
|
||||
--- Modify tags table ---
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
ALTER TABLE nodes RENAME TO old_nodes;
|
||||
CREATE TABLE
|
||||
nodes (
|
||||
name TEXT PRIMARY KEY check(length(name) <= 128),
|
||||
type integer(1) NOT NULL check(type IN (1, 2)),
|
||||
state integer(1) NOT NULL check(state BETWEEN 1 AND 4),
|
||||
plugin_name TEXT NOT NULL check(length(plugin_name) <= 32)
|
||||
);
|
||||
INSERT INTO nodes SELECT * FROM old_nodes;
|
||||
|
||||
ALTER TABLE groups RENAME TO old_groups;
|
||||
CREATE TABLE IF NOT EXISTS
|
||||
groups (
|
||||
driver_name TEXT NOT NULL,
|
||||
name TEXT NULL check(length(name) <= 128),
|
||||
interval INTEGER NOT NULL check(interval >= 100),
|
||||
UNIQUE (driver_name, name),
|
||||
FOREIGN KEY (driver_name) REFERENCES nodes (name) ON UPDATE CASCADE ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO groups SELECT * FROM old_groups;
|
||||
|
||||
ALTER TABLE tags RENAME TO old_tags;
|
||||
CREATE TABLE IF NOT EXISTS
|
||||
tags (
|
||||
@@ -50,29 +71,28 @@ CREATE TABLE IF NOT EXISTS
|
||||
FOREIGN KEY (driver_name, group_name) REFERENCES groups (driver_name, name) ON UPDATE CASCADE ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO tags SELECT * FROM old_tags;
|
||||
DROP TABLE old_tags;
|
||||
|
||||
ALTER TABLE nodes RENAME TO old_nodes;
|
||||
ALTER TABLE subscriptions RENAME TO old_subscriptions;
|
||||
CREATE TABLE IF NOT EXISTS
|
||||
nodes (
|
||||
name TEXT PRIMARY KEY check(length(name) <= 128),
|
||||
type integer(1) NOT NULL check(type IN (1, 2)),
|
||||
state integer(1) NOT NULL check(state BETWEEN 1 AND 4),
|
||||
plugin_name TEXT NOT NULL check(length(plugin_name) <= 32)
|
||||
);
|
||||
INSERT INTO nodes SELECT * FROM old_nodes;
|
||||
DROP TABLE old_nodes;
|
||||
|
||||
ALTER TABLE groups RENAME TO old_groups;
|
||||
CREATE TABLE IF NOT EXISTS
|
||||
groups (
|
||||
subscriptions (
|
||||
app_name TEXT NOT NULL,
|
||||
driver_name TEXT NOT NULL,
|
||||
name TEXT NULL check(length(name) <= 128),
|
||||
interval INTEGER NOT NULL check(interval >= 100),
|
||||
UNIQUE (driver_name, name),
|
||||
FOREIGN KEY (driver_name) REFERENCES nodes (name) ON UPDATE CASCADE ON DELETE CASCADE
|
||||
group_name TEXT NOT 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 groups SELECT * FROM old_groups;
|
||||
DROP TABLE old_groups;
|
||||
INSERT INTO subscriptions SELECT * FROM old_subscriptions;
|
||||
|
||||
ALTER TABLE settings RENAME TO old_settings;
|
||||
CREATE TABLE IF NOT EXISTS
|
||||
settings (
|
||||
node_name TEXT NOT NULL,
|
||||
setting TEXT NOT NULL,
|
||||
UNIQUE (node_name),
|
||||
FOREIGN KEY (node_name) REFERENCES nodes (name) ON UPDATE CASCADE ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO settings SELECT * FROM old_settings;
|
||||
|
||||
COMMIT;
|
||||
@@ -333,7 +333,7 @@ static int apply_schema_file(sqlite3 *db, const char *dir, const char *file)
|
||||
char *err_msg = NULL;
|
||||
rv = sqlite3_exec(db, sql, NULL, NULL, &err_msg);
|
||||
if (SQLITE_OK != rv) {
|
||||
nlog_error("execute %s fail: %s", path, err_msg);
|
||||
nlog_error("execute %s fail: (%d)%s", path, rv, err_msg);
|
||||
sqlite3_free(err_msg);
|
||||
rv = NEU_ERR_EINTERNAL;
|
||||
goto end;
|
||||
|
||||
Reference in New Issue
Block a user