diff options
| author | Grant Limberg <glimberg@gmail.com> | 2015-06-13 14:39:45 -0700 |
|---|---|---|
| committer | Grant Limberg <glimberg@gmail.com> | 2015-06-13 14:39:45 -0700 |
| commit | c59c74dddab862ade65938e630dc0f561fcb0c2f (patch) | |
| tree | b5843f27b60d898be02fd2f2cb5607b95718b96a /controller/schema.sql | |
| parent | abbcb0a12cbab782c1d9879391efb65e9cd92acf (diff) | |
| parent | 845955dea53035e8472059ff03feca9f47c0d5fa (diff) | |
| download | infinitytier-c59c74dddab862ade65938e630dc0f561fcb0c2f.tar.gz infinitytier-c59c74dddab862ade65938e630dc0f561fcb0c2f.zip | |
Merge branch 'adamierymenko-dev' into android-jni
Diffstat (limited to 'controller/schema.sql')
| -rw-r--r-- | controller/schema.sql | 91 |
1 files changed, 47 insertions, 44 deletions
diff --git a/controller/schema.sql b/controller/schema.sql index b5646ee9..809c7161 100644 --- a/controller/schema.sql +++ b/controller/schema.sql @@ -3,22 +3,50 @@ CREATE TABLE Config ( v varchar(1024) NOT NULL ); +CREATE TABLE Network ( + id char(16) PRIMARY KEY NOT NULL, + name varchar(128) NOT NULL, + private integer NOT NULL DEFAULT(1), + enableBroadcast integer NOT NULL DEFAULT(1), + allowPassiveBridging integer NOT NULL DEFAULT(0), + v4AssignMode varchar(8) NOT NULL DEFAULT('none'), + v6AssignMode varchar(8) NOT NULL DEFAULT('none'), + multicastLimit integer NOT NULL DEFAULT(32), + creationTime integer NOT NULL DEFAULT(0), + revision integer NOT NULL DEFAULT(1) +); + +CREATE TABLE Node ( + id char(10) PRIMARY KEY NOT NULL, + identity varchar(4096) NOT NULL, + lastAt varchar(64), + lastSeen integer NOT NULL DEFAULT(0), + firstSeen integer NOT NULL DEFAULT(0) +); + +CREATE TABLE Gateway ( + networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE, + ip blob(16) NOT NULL, + ipVersion integer NOT NULL DEFAULT(4), + metric integer NOT NULL DEFAULT(0) +); + +CREATE UNIQUE INDEX Gateway_networkId_ip ON Gateway (networkId, ip); + CREATE TABLE IpAssignment ( - networkId char(16) NOT NULL, - nodeId char(10) NOT NULL, + networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE, + nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE, ip blob(16) NOT NULL, ipNetmaskBits integer NOT NULL DEFAULT(0), ipVersion integer NOT NULL DEFAULT(4) ); -CREATE INDEX IpAssignment_networkId_ip ON IpAssignment (networkId, ip); +CREATE UNIQUE INDEX IpAssignment_networkId_ip ON IpAssignment (networkId, ip); CREATE INDEX IpAssignment_networkId_nodeId ON IpAssignment (networkId, nodeId); -CREATE INDEX IpAssignment_networkId ON IpAssignment (networkId); - CREATE TABLE IpAssignmentPool ( - networkId char(16) NOT NULL, + networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE, ipNetwork blob(16) NOT NULL, ipNetmaskBits integer NOT NULL, ipVersion integer NOT NULL DEFAULT(4) @@ -27,20 +55,17 @@ CREATE TABLE IpAssignmentPool ( CREATE INDEX IpAssignmentPool_networkId ON IpAssignmentPool (networkId); CREATE TABLE Member ( - networkId char(16) NOT NULL, - nodeId char(10) NOT NULL, + networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE, + nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE, authorized integer NOT NULL DEFAULT(0), - activeBridge integer NOT NULL DEFAULT(0) + activeBridge integer NOT NULL DEFAULT(0), + PRIMARY KEY (networkId, nodeId) ); -CREATE INDEX Member_networkId ON Member (networkId); - CREATE INDEX Member_networkId_activeBridge ON Member(networkId, activeBridge); -CREATE UNIQUE INDEX Member_networkId_nodeId ON Member (networkId, nodeId); - CREATE TABLE MulticastRate ( - networkId char(16) NOT NULL, + networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE, mgMac char(12) NOT NULL, mgAdi integer NOT NULL DEFAULT(0), preload integer NOT NULL, @@ -50,41 +75,19 @@ CREATE TABLE MulticastRate ( CREATE INDEX MulticastRate_networkId ON MulticastRate (networkId); -CREATE TABLE Network ( - id char(16) PRIMARY KEY NOT NULL, - name varchar(128) NOT NULL, - private integer NOT NULL DEFAULT(1), - enableBroadcast integer NOT NULL DEFAULT(1), - allowPassiveBridging integer NOT NULL DEFAULT(0), - v4AssignMode varchar(8) NOT NULL DEFAULT('none'), - v6AssignMode varchar(8) NOT NULL DEFAULT('none'), - multicastLimit integer NOT NULL DEFAULT(32), - creationTime integer NOT NULL DEFAULT(0), - revision integer NOT NULL DEFAULT(1) -); - CREATE TABLE Relay ( - networkId char(16) NOT NULL, - nodeId char(10) NOT NULL, - phyAddress varchar(64) NOT NULL + networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE, + nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE, + phyAddress varchar(64) NOT NULL, + PRIMARY KEY (networkId, nodeId) ); CREATE INDEX Relay_networkId ON Relay (networkId); -CREATE UNIQUE INDEX Relay_networkId_nodeId ON Relay (networkId, nodeId); - -CREATE TABLE Node ( - id char(10) PRIMARY KEY NOT NULL, - identity varchar(4096) NOT NULL, - lastAt varchar(64), - lastSeen integer NOT NULL DEFAULT(0), - firstSeen integer NOT NULL DEFAULT(0) -); - CREATE TABLE Rule ( - networkId char(16) NOT NULL, - ruleId integer NOT NULL, - nodeId char(10), + networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE, + ruleNo integer NOT NULL, + nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE, vlanId integer, vlanPcp integer, etherType integer, @@ -101,4 +104,4 @@ CREATE TABLE Rule ( "action" varchar(4096) NOT NULL DEFAULT('accept') ); -CREATE INDEX Rule_networkId ON Rule (networkId);
\ No newline at end of file +CREATE UNIQUE INDEX Rule_networkId_ruleNo ON Rule (networkId, ruleNo); |
