|  | @@ -4,9 +4,30 @@
 | 
	
		
			
				|  |  |  "  v varchar(1024) NOT NULL\n"\
 | 
	
		
			
				|  |  |  ");\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  | +"CREATE TABLE Network (\n"\
 | 
	
		
			
				|  |  | +"  id char(16) PRIMARY KEY NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  name varchar(128) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  private integer NOT NULL DEFAULT(1),\n"\
 | 
	
		
			
				|  |  | +"  enableBroadcast integer NOT NULL DEFAULT(1),\n"\
 | 
	
		
			
				|  |  | +"  allowPassiveBridging integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | +"  v4AssignMode varchar(8) NOT NULL DEFAULT('none'),\n"\
 | 
	
		
			
				|  |  | +"  v6AssignMode varchar(8) NOT NULL DEFAULT('none'),\n"\
 | 
	
		
			
				|  |  | +"  multicastLimit integer NOT NULL DEFAULT(32),\n"\
 | 
	
		
			
				|  |  | +"  creationTime integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | +"  revision integer NOT NULL DEFAULT(1)\n"\
 | 
	
		
			
				|  |  | +");\n"\
 | 
	
		
			
				|  |  | +"\n"\
 | 
	
		
			
				|  |  | +"CREATE TABLE Node (\n"\
 | 
	
		
			
				|  |  | +"  id char(10) PRIMARY KEY NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  identity varchar(4096) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  lastAt varchar(64),\n"\
 | 
	
		
			
				|  |  | +"  lastSeen integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | +"  firstSeen integer NOT NULL DEFAULT(0)\n"\
 | 
	
		
			
				|  |  | +");\n"\
 | 
	
		
			
				|  |  | +"\n"\
 | 
	
		
			
				|  |  |  "CREATE TABLE IpAssignment (\n"\
 | 
	
		
			
				|  |  | -"  networkId char(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  nodeId char(10) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  | +"  nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  |  "  ip blob(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  |  "  ipNetmaskBits integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  |  "  ipVersion integer NOT NULL DEFAULT(4)\n"\
 | 
	
	
		
			
				|  | @@ -19,7 +40,7 @@
 | 
	
		
			
				|  |  |  "CREATE INDEX IpAssignment_networkId ON IpAssignment (networkId);\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  |  "CREATE TABLE IpAssignmentPool (\n"\
 | 
	
		
			
				|  |  | -"  networkId char(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  |  "  ipNetwork blob(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  |  "  ipNetmaskBits integer NOT NULL,\n"\
 | 
	
		
			
				|  |  |  "  ipVersion integer NOT NULL DEFAULT(4)\n"\
 | 
	
	
		
			
				|  | @@ -28,20 +49,19 @@
 | 
	
		
			
				|  |  |  "CREATE INDEX IpAssignmentPool_networkId ON IpAssignmentPool (networkId);\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  |  "CREATE TABLE Member (\n"\
 | 
	
		
			
				|  |  | -"  networkId char(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  nodeId char(10) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  | +"  nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  |  "  authorized integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | -"  activeBridge integer NOT NULL DEFAULT(0)\n"\
 | 
	
		
			
				|  |  | +"  activeBridge integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | +"  PRIMARY KEY (networkId, nodeId)\n"\
 | 
	
		
			
				|  |  |  ");\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  |  "CREATE INDEX Member_networkId ON Member (networkId);\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  |  "CREATE INDEX Member_networkId_activeBridge ON Member(networkId, activeBridge);\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  | -"CREATE UNIQUE INDEX Member_networkId_nodeId ON Member (networkId, nodeId);\n"\
 | 
	
		
			
				|  |  | -"\n"\
 | 
	
		
			
				|  |  |  "CREATE TABLE MulticastRate (\n"\
 | 
	
		
			
				|  |  | -"  networkId char(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  |  "  mgMac char(12) NOT NULL,\n"\
 | 
	
		
			
				|  |  |  "  mgAdi integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  |  "  preload integer NOT NULL,\n"\
 | 
	
	
		
			
				|  | @@ -51,41 +71,19 @@
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  |  "CREATE INDEX MulticastRate_networkId ON MulticastRate (networkId);\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  | -"CREATE TABLE Network (\n"\
 | 
	
		
			
				|  |  | -"  id char(16) PRIMARY KEY NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  name varchar(128) NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  private integer NOT NULL DEFAULT(1),\n"\
 | 
	
		
			
				|  |  | -"  enableBroadcast integer NOT NULL DEFAULT(1),\n"\
 | 
	
		
			
				|  |  | -"  allowPassiveBridging integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | -"  v4AssignMode varchar(8) NOT NULL DEFAULT('none'),\n"\
 | 
	
		
			
				|  |  | -"  v6AssignMode varchar(8) NOT NULL DEFAULT('none'),\n"\
 | 
	
		
			
				|  |  | -"  multicastLimit integer NOT NULL DEFAULT(32),\n"\
 | 
	
		
			
				|  |  | -"  creationTime integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | -"  revision integer NOT NULL DEFAULT(1)\n"\
 | 
	
		
			
				|  |  | -");\n"\
 | 
	
		
			
				|  |  | -"\n"\
 | 
	
		
			
				|  |  |  "CREATE TABLE Relay (\n"\
 | 
	
		
			
				|  |  | -"  networkId char(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  nodeId char(10) NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  phyAddress varchar(64) NOT NULL\n"\
 | 
	
		
			
				|  |  | +"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  | +"  nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  | +"  phyAddress varchar(64) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  PRIMARY KEY (networkId, nodeId)\n"\
 | 
	
		
			
				|  |  |  ");\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  |  "CREATE INDEX Relay_networkId ON Relay (networkId);\n"\
 | 
	
		
			
				|  |  |  "\n"\
 | 
	
		
			
				|  |  | -"CREATE UNIQUE INDEX Relay_networkId_nodeId ON Relay (networkId, nodeId);\n"\
 | 
	
		
			
				|  |  | -"\n"\
 | 
	
		
			
				|  |  | -"CREATE TABLE Node (\n"\
 | 
	
		
			
				|  |  | -"  id char(10) PRIMARY KEY NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  identity varchar(4096) NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  lastAt varchar(64),\n"\
 | 
	
		
			
				|  |  | -"  lastSeen integer NOT NULL DEFAULT(0),\n"\
 | 
	
		
			
				|  |  | -"  firstSeen integer NOT NULL DEFAULT(0)\n"\
 | 
	
		
			
				|  |  | -");\n"\
 | 
	
		
			
				|  |  | -"\n"\
 | 
	
		
			
				|  |  |  "CREATE TABLE Rule (\n"\
 | 
	
		
			
				|  |  | -"  networkId char(16) NOT NULL,\n"\
 | 
	
		
			
				|  |  | +"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  |  "  ruleId integer NOT NULL,\n"\
 | 
	
		
			
				|  |  | -"  nodeId char(10),\n"\
 | 
	
		
			
				|  |  | +"  nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
 | 
	
		
			
				|  |  |  "  vlanId integer,\n"\
 | 
	
		
			
				|  |  |  "  vlanPcp integer,\n"\
 | 
	
		
			
				|  |  |  "  etherType integer,\n"\
 |