Add tags for schedules
This commit is contained in:
parent
f3f3d36eed
commit
75f8afd624
10 changed files with 375 additions and 184 deletions
migrations/2021-10-13-000000_init
|
@ -1,126 +1,164 @@
|
|||
CREATE TABLE controllers
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
uid VARCHAR(36)
|
||||
NOT NULL
|
||||
UNIQUE,
|
||||
name VARCHAR(128),
|
||||
ip VARCHAR(16),
|
||||
port INTEGER,
|
||||
relay_count INTEGER,
|
||||
active BOOLEAN
|
||||
NOT NULL
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
uid
|
||||
VARCHAR(36)
|
||||
NOT NULL
|
||||
UNIQUE,
|
||||
name
|
||||
VARCHAR(128)
|
||||
NOT NULL,
|
||||
ip
|
||||
VARCHAR(16),
|
||||
port
|
||||
INTEGER,
|
||||
relay_count
|
||||
INTEGER,
|
||||
active
|
||||
BOOLEAN
|
||||
NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE relays
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
name VARCHAR(128),
|
||||
number INTEGER
|
||||
NOT NULL,
|
||||
controller_id INTEGER
|
||||
NOT NULL
|
||||
REFERENCES controllers (id)
|
||||
ON DELETE CASCADE
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
name
|
||||
VARCHAR(128)
|
||||
NOT NULL,
|
||||
number
|
||||
INTEGER
|
||||
NOT NULL,
|
||||
controller_id
|
||||
INTEGER
|
||||
NOT NULL
|
||||
REFERENCES controllers (id)
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE schedules
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
uid BLOB
|
||||
NOT NULL
|
||||
UNIQUE,
|
||||
name VARCHAR(128)
|
||||
NOT NULL,
|
||||
periods BLOB
|
||||
NOT NULL
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
uid
|
||||
BLOB
|
||||
NOT NULL
|
||||
UNIQUE,
|
||||
name
|
||||
VARCHAR(128)
|
||||
NOT NULL,
|
||||
periods
|
||||
BLOB
|
||||
NOT NULL
|
||||
);
|
||||
INSERT INTO schedules (uid, name, periods) VALUES (x'00', 'off', x'');
|
||||
INSERT INTO schedules (uid, name, periods) VALUES (x'01', 'on', x'00000000');
|
||||
|
||||
CREATE TABLE tags
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
tag VARCHAR(128)
|
||||
NOT NULL
|
||||
UNIQUE
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
tag
|
||||
VARCHAR(128)
|
||||
NOT NULL
|
||||
UNIQUE
|
||||
);
|
||||
|
||||
CREATE TABLE junction_tag
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
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
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
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
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
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
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
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
|
||||
);
|
||||
|
||||
CREATE TABLE macros
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
uid VARCHAR(36)
|
||||
NOT NULL
|
||||
UNIQUE,
|
||||
name VARCHAR(128)
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
uid
|
||||
VARCHAR(36)
|
||||
NOT NULL
|
||||
UNIQUE,
|
||||
name
|
||||
VARCHAR(128)
|
||||
NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE macro_actions
|
||||
(
|
||||
id INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
macro_id INTEGER
|
||||
NOT NULL
|
||||
REFERENCES macros (id)
|
||||
ON DELETE CASCADE,
|
||||
relay_id INTEGER
|
||||
REFERENCES relays (id)
|
||||
ON DELETE CASCADE,
|
||||
schedule_id INTEGER
|
||||
REFERENCES schedules (id)
|
||||
ON DELETE CASCADE,
|
||||
weekday SMALLINT
|
||||
NOT NULL
|
||||
id
|
||||
INTEGER
|
||||
PRIMARY KEY
|
||||
AUTOINCREMENT
|
||||
NOT NULL,
|
||||
macro_id
|
||||
INTEGER
|
||||
NOT NULL
|
||||
REFERENCES macros (id)
|
||||
ON DELETE CASCADE,
|
||||
relay_id
|
||||
INTEGER
|
||||
NOT NULL
|
||||
REFERENCES relays (id)
|
||||
ON DELETE CASCADE,
|
||||
schedule_id
|
||||
INTEGER
|
||||
NOT NULL
|
||||
REFERENCES schedules (id)
|
||||
ON DELETE CASCADE,
|
||||
weekday
|
||||
SMALLINT
|
||||
NOT NULL
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue