160 lines
4.6 KiB
PL/PgSQL
160 lines
4.6 KiB
PL/PgSQL
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;
|