Start rust rewrite
This commit is contained in:
		
						commit
						12d57d020f
					
				
					 22 changed files with 2599 additions and 0 deletions
				
			
		
							
								
								
									
										8
									
								
								migrations/2021-10-13-000000_init/down.sql
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								migrations/2021-10-13-000000_init/down.sql
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
DROP TABLE macro_actions;
 | 
			
		||||
DROP TABLE macros;
 | 
			
		||||
DROP TABLE junction_relay_schedule;
 | 
			
		||||
DROP TABLE junction_tag;
 | 
			
		||||
DROP TABLE tags;
 | 
			
		||||
DROP TABLE schedules;
 | 
			
		||||
DROP TABLE relays;
 | 
			
		||||
DROP TABLE controllers;
 | 
			
		||||
							
								
								
									
										128
									
								
								migrations/2021-10-13-000000_init/up.sql
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								migrations/2021-10-13-000000_init/up.sql
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,128 @@
 | 
			
		|||
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
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
CREATE TABLE schedules
 | 
			
		||||
(
 | 
			
		||||
    id      INTEGER
 | 
			
		||||
            PRIMARY KEY
 | 
			
		||||
            AUTOINCREMENT
 | 
			
		||||
            NOT NULL,
 | 
			
		||||
    uid     BLOB
 | 
			
		||||
            NOT NULL
 | 
			
		||||
            UNIQUE,
 | 
			
		||||
    name    VARCHAR(128)
 | 
			
		||||
            NOT NULL,
 | 
			
		||||
    periods TEXT
 | 
			
		||||
            NOT NULL
 | 
			
		||||
);
 | 
			
		||||
--INSERT INTO schedules (uid, name, periods) VALUES (x'6f666600000000000000000000000000', 'off', x'00');
 | 
			
		||||
--INSERT INTO schedules (uid, name, periods) VALUES (x'6f6e0000000000000000000000000000',  'on', x'010000009F05');
 | 
			
		||||
INSERT INTO schedules (uid, name, periods) VALUES (x'00', 'off', '00');
 | 
			
		||||
INSERT INTO schedules (uid, name, periods) VALUES (x'01',  'on', '010000009F05');
 | 
			
		||||
 | 
			
		||||
CREATE TABLE tags
 | 
			
		||||
(
 | 
			
		||||
    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
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
CREATE TABLE macros
 | 
			
		||||
(
 | 
			
		||||
    id      INTEGER
 | 
			
		||||
            PRIMARY KEY
 | 
			
		||||
            AUTOINCREMENT
 | 
			
		||||
            NOT NULL,
 | 
			
		||||
    uid     VARCHAR(36)
 | 
			
		||||
            NOT NULL
 | 
			
		||||
            UNIQUE,
 | 
			
		||||
    name    VARCHAR(128)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
);
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue