create table meta ( version_num INTEGER NOT NULL ); create table controllers ( id VARCHAR(64) NOT NULL PRIMARY KEY UNIQUE, name VARCHAR(128), ip VARCHAR(16), port INTEGER, relay_count INTEGER, active BOOLEAN NOT NULL ); create table relays ( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(128), number INTEGER NOT NULL, controller_id VARCHAR(33) NOT NULL REFERENCES controllers (id) ); create table schedules ( id INTEGER PRIMARY KEY AUTOINCREMENT, uid VARCHAR(33) NOT NULL UNIQUE, name VARCHAR(128), periods BLOB ); create table tags ( id INTEGER PRIMARY KEY AUTOINCREMENT, tag VARCHAR(128) NOT NULL UNIQUE ); create table junction_tag ( tag_id INTEGER NOT NULL REFERENCES tags (id), relay_id INTEGER REFERENCES relays (id), schedule_id INTEGER REFERENCES schedules (id) ); create table junction_relay_schedule ( weekday SMALLINT NOT NULL, relay_id INTEGER NOT NULL REFERENCES relays (id), schedule_id INTEGER NOT NULL REFERENCES schedules (id) ); INSERT INTO schedules (uid, name, periods) VALUES (x'6f666600000000000000000000000000', 'off', x'00'); INSERT INTO schedules (uid, name, periods) VALUES (x'6f6e0000000000000000000000000000', 'on', x'010000009F05');