mirror of
https://github.com/sergeyyarkov/modbus-logger.git
synced 2026-10-11 02:18:51 +03:00
45 lines
1.8 KiB
SQL
45 lines
1.8 KiB
SQL
--------------------------------------------------------------------------------
|
|
-- Up
|
|
--------------------------------------------------------------------------------
|
|
|
|
CREATE TABLE IF NOT EXISTS "app_config" (
|
|
"id" INTEGER,
|
|
"mb_connection_type" VARCHAR(3) NOT NULL DEFAULT "RTU" CHECK(mb_connection_type IN ('TCP','RTU')),
|
|
"mb_tcp_ip" VARCHAR(15) NOT NULL DEFAULT "127.0.0.1",
|
|
"mb_tcp_port" INTEGER NOT NULL DEFAULT 502,
|
|
"mb_rtu_path" VARCHAR(10) NOT NULL DEFAULT "",
|
|
"mb_rtu_baud" INTEGER NOT NULL DEFAULT 9600,
|
|
"mb_rtu_parity" VARCHAR(5) NOT NULL DEFAULT "none" CHECK(mb_rtu_parity IN ("even", "odd", "none")),
|
|
"mb_rtu_data_bits" INTEGER NOT NULL DEFAULT 8,
|
|
"mb_rtu_stop_bits" INTEGER NOT NULL DEFAULT 1,
|
|
"log_interval_ms" INTEGER DEFAULT 1000 NOT NULL,
|
|
CONSTRAINT "id_unique" CHECK(id=0),
|
|
CONSTRAINT "min_interval_check" CHECK(log_interval_ms >= 1000)
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "modbus_slaves" (
|
|
"id" INTEGER CHECK (id >= 1 AND id <= 255),
|
|
"name" VARCHAR(256) NOT NULL,
|
|
"display_reg_addr" INTEGER CHECK(display_reg_addr >= 0 AND display_reg_addr <= 65534),
|
|
"display_reg_format" INTEGER CHECK(display_reg_format IN(16, 32)),
|
|
"is_logging" BOOLEAN NOT NULL,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "display_values" (
|
|
"id" INTEGER,
|
|
"name" VARCHAR(32),
|
|
"slave_id" INTEGER NOT NULL,
|
|
"reg_addr" INTEGER DEFAULT 0 NOT NULL CHECK(reg_addr >= 0 AND reg_addr <= 65534),
|
|
PRIMARY KEY("id"),
|
|
FOREIGN KEY("slave_id") REFERENCES modbus_slaves("id") ON DELETE CASCADE
|
|
);
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Down
|
|
--------------------------------------------------------------------------------
|
|
|
|
DROP TABLE app_config;
|
|
DROP TABLE modbus_slaves;
|
|
DROP TABLE display_values; |