core-legacy/sql/migration_0.sql

84 lines
2 KiB
MySQL
Raw Permalink Normal View History

-- base migration
CREATE TABLE controllers
2019-08-25 23:02:49 +00:00
(
2020-05-05 09:42:02 +00:00
id INTEGER
PRIMARY KEY
AUTOINCREMENT,
uid BLOB
NOT NULL
UNIQUE,
2019-08-25 23:02:49 +00:00
name VARCHAR(128),
ip VARCHAR(16),
port INTEGER,
relay_count INTEGER,
2020-04-23 15:00:12 +00:00
active BOOLEAN
NOT NULL
2019-08-25 23:02:49 +00:00
);
CREATE TABLE relays
2019-08-25 23:02:49 +00:00
(
2020-04-23 15:00:12 +00:00
id INTEGER
PRIMARY KEY
AUTOINCREMENT,
name VARCHAR(128),
number INTEGER
NOT NULL,
2020-05-05 09:42:02 +00:00
controller_id INTEGER
2020-04-23 15:00:12 +00:00
NOT NULL
REFERENCES controllers (id)
ON DELETE CASCADE
2019-08-25 23:02:49 +00:00
);
CREATE TABLE schedules
2019-08-25 23:02:49 +00:00
(
2020-04-19 00:44:35 +00:00
id INTEGER
2020-04-23 15:00:12 +00:00
PRIMARY KEY
AUTOINCREMENT,
2020-05-05 09:42:02 +00:00
uid BLOB
2020-04-23 15:00:12 +00:00
NOT NULL
UNIQUE,
2019-08-25 23:02:49 +00:00
name VARCHAR(128),
periods BLOB
);
CREATE TABLE tags
2020-04-28 19:50:19 +00:00
(
id INTEGER
PRIMARY KEY
AUTOINCREMENT,
tag VARCHAR(128)
NOT NULL
UNIQUE
2020-04-28 19:50:19 +00:00
);
CREATE TABLE junction_tag
(
tag_id INTEGER
NOT NULL
REFERENCES tags (id)
ON DELETE CASCADE,
relay_id INTEGER
REFERENCES relays (id)
ON DELETE CASCADE,
schedule_id INTEGER
REFERENCES schedules (id)
ON DELETE CASCADE
);
CREATE TABLE junction_relay_schedule
(
weekday SMALLINT
NOT NULL,
relay_id INTEGER
REFERENCES relays (id)
ON DELETE CASCADE,
schedule_id INTEGER
DEFAULT 1
REFERENCES schedules (id)
ON DELETE SET DEFAULT
2019-08-25 23:02:49 +00:00
);
2020-04-19 00:44:35 +00:00
INSERT INTO schedules (uid, name, periods) VALUES (x'6f666600000000000000000000000000', 'off', x'00');
2024-04-16 14:31:18 +00:00
INSERT INTO schedules (uid, name, periods) VALUES (x'6f6e0000000000000000000000000000', 'on', x'010000000000');