BEGIN; -- Netdisco -- Database Schema Modifications -- UPGRADE from 0.95 to 0.96 -- -- Add snmp_class to device table ALTER TABLE device ADD snmp_class text; -- -- Add subnet to device_ip table ALTER TABLE device_ip ADD subnet cidr; -- -- Add indexes on admin table CREATE INDEX idx_admin_entered ON admin(entered); CREATE INDEX idx_admin_status ON admin(status); CREATE INDEX idx_admin_action ON admin(action); -- -- Create device_module table CREATE TABLE device_module ( ip inet not null, index integer, description text, type text, parent integer, name text, class text, pos integer, hw_ver text, fw_ver text, sw_ver text, serial text, model text, fru boolean, creation TIMESTAMP DEFAULT now(), last_discover TIMESTAMP ); -- -- Earlier versions of device_module didn't have the index ALTER TABLE device_module ADD PRIMARY KEY(ip,index); -- Create process table - Queue to coordinate between processes in multi-process mode. CREATE TABLE process ( controller integer not null, -- pid of controlling process device inet not null, action text not null, -- arpnip, macsuck, nbtstat, discover status text, -- queued, running, skipped, done, error, timeout, nocdp, nosnmp count integer, creation TIMESTAMP DEFAULT now() ); -- Earlier versions of the process table didn't have the creation timestamp ALTER TABLE process ADD creation TIMESTAMP DEFAULT now(); -- -- Add ldap to users table ALTER TABLE users ADD ldap boolean; ALTER TABLE users ALTER ldap SET DEFAULT false; -- -- Add pvid to device_port table ALTER TABLE device_port ADD pvid integer; -- -- Create device_port_vlan table CREATE TABLE device_port_vlan ( ip inet, -- ip of device port text, -- Unique identifier of Physical Port Name vlan integer, -- VLAN ID native boolean not null default false, -- native or trunked creation TIMESTAMP DEFAULT now(), last_discover TIMESTAMP DEFAULT now(), PRIMARY KEY(ip,port,vlan) ); -- -- Create device_vlan table CREATE TABLE device_vlan ( ip inet, -- ip of device vlan integer, -- VLAN ID description text, -- VLAN description creation TIMESTAMP DEFAULT now(), last_discover TIMESTAMP DEFAULT now(), PRIMARY KEY(ip,vlan) ); -- -- Create device_power table CREATE TABLE device_power ( ip inet, -- ip of device module integer,-- Module from PowerEthernet index power integer,-- nominal power of the PSE expressed in Watts status text, -- The operational status PRIMARY KEY(ip,module) ); -- -- Create device_port_power table CREATE TABLE device_port_power ( ip inet, -- ip of device port text, -- Unique identifier of Physical Port Name module integer,-- Module from PowerEthernet index admin text, -- Admin power status status text, -- Detected power status class text, -- Detected class PRIMARY KEY(port,ip) ); CREATE TABLE device_port_wireless ( ip inet, -- ip of device port text, -- Unique identifier of Physical Port Name channel integer,-- 802.11 channel number power integer -- transmit power in mw ); CREATE INDEX idx_device_port_wireless_ip_port ON device_port_wireless(ip,port); -- -- device_port_ssid lost its channel column, it moved to device_port_wireless -- -- Migrate any existing data INSERT INTO device_port_wireless ( ip,port,channel ) ( SELECT ip,port,channel FROM device_port_ssid WHERE channel IS NOT NULL ); ALTER TABLE device_port_ssid DROP channel; -- -- node_wireless, for client association information CREATE TABLE node_wireless ( mac macaddr, uptime integer, maxrate integer, -- can be 0.5 but we ignore that for now txrate integer, -- can be 0.5 but we ignore that for now sigstrength integer, -- signal strength (-db) sigqual integer, -- signal quality rxpkt integer, -- received packets txpkt integer, -- transmitted packets rxbyte bigint, -- received bytes txbyte bigint, -- transmitted bytes time_last timestamp default now(), PRIMARY KEY(mac) ); -- -- node_monitor, for lost/stolen device monitoring CREATE TABLE node_monitor ( mac macaddr, active boolean, why text, cc text, date TIMESTAMP DEFAULT now(), PRIMARY KEY(mac) ); COMMIT;