schema update script
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,4 +1,4 @@
|
|||||||
Netdisco/environments/development.yml
|
Netdisco/environments/*
|
||||||
Netdisco/logs/development.log
|
Netdisco/logs/development.log
|
||||||
*.swp
|
*.swp
|
||||||
test.pl
|
test.pl
|
||||||
|
|||||||
@@ -8,11 +8,25 @@ use Dancer::Plugin::DBIC 'schema';
|
|||||||
|
|
||||||
use Netdisco::DB;
|
use Netdisco::DB;
|
||||||
use Try::Tiny;
|
use Try::Tiny;
|
||||||
|
use feature 'say';
|
||||||
|
|
||||||
|
try {
|
||||||
|
my $count = schema->resultset('Device')->count();
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
# fresh install? deploy the Netdisco::DB schema
|
||||||
|
say 'Deploying Netdisco::DB schema...';
|
||||||
|
schema->txn_do(sub { schema->deploy() });
|
||||||
|
exec $0;
|
||||||
|
};
|
||||||
|
|
||||||
if (not schema->get_db_version()) {
|
if (not schema->get_db_version()) {
|
||||||
# installs the dbix_class_schema_versions table with version "0"
|
# installs the dbix_class_schema_versions table with version "0"
|
||||||
schema->install("0");
|
say 'Installing DBIx::Class versioning to Netdisco::DB schema...';
|
||||||
|
schema->txn_do(sub { schema->install("1") });
|
||||||
|
exec $0;
|
||||||
}
|
}
|
||||||
|
|
||||||
# upgrades from whatever dbix_class_schema_versions says, to $VERSION
|
# upgrades from whatever dbix_class_schema_versions says, to $VERSION
|
||||||
schema->upgrade();
|
say 'Upgrading Netdisco::DB schema...';
|
||||||
|
schema->txn_do(sub { schema->upgrade() });
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ routed port or virtual interface).
|
|||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
__PACKAGE__->add_unique_constraint(['alias']);
|
||||||
|
|
||||||
__PACKAGE__->belongs_to( device_port => 'Netdisco::DB::Result::DevicePort',
|
__PACKAGE__->belongs_to( device_port => 'Netdisco::DB::Result::DevicePort',
|
||||||
{ 'foreign.port' => 'self.port', 'foreign.ip' => 'self.ip' } );
|
{ 'foreign.port' => 'self.port', 'foreign.ip' => 'self.ip' } );
|
||||||
|
|
||||||
|
|||||||
@@ -53,10 +53,8 @@ C<have_nodeip_dns_col> application setting, instead.
|
|||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
if ($ENV{HAVE_NODEIP_DNS_COL}) {
|
__PACKAGE__->add_column("dns" =>
|
||||||
__PACKAGE__->add_column("dns" =>
|
|
||||||
{ data_type => "text", is_nullable => 1, accessor => undef });
|
{ data_type => "text", is_nullable => 1, accessor => undef });
|
||||||
}
|
|
||||||
|
|
||||||
# some customize their node_ip table to have a dns column which
|
# some customize their node_ip table to have a dns column which
|
||||||
# is the cached record at the time of discovery
|
# is the cached record at the time of discovery
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
-- Convert schema '/home/oliver/git/netdisco-frontend-sandpit/Netdisco/lib/Netdisco/DB/schema_versions/Netdisco-DB-1-PostgreSQL.sql' to '/home/oliver/git/netdisco-frontend-sandpit/Netdisco/lib/Netdisco/DB/schema_versions/Netdisco-DB-2-PostgreSQL.sql':;
|
-- Convert schema '/home/sy0/git/netdisco-frontend-sandpit/Netdisco/lib/Netdisco/DB/schema_versions/Netdisco-DB-1-PostgreSQL.sql' to '/home/sy0/git/netdisco-frontend-sandpit/Netdisco/lib/Netdisco/DB/schema_versions/Netdisco-DB-2-PostgreSQL.sql':;
|
||||||
|
|
||||||
BEGIN;
|
BEGIN;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
--
|
--
|
||||||
-- Created by SQL::Translator::Producer::PostgreSQL
|
-- Created by SQL::Translator::Producer::PostgreSQL
|
||||||
-- Created on Tue Oct 9 18:21:38 2012
|
-- Created on Wed Oct 10 14:24:20 2012
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- Table: admin
|
-- Table: admin.
|
||||||
--
|
--
|
||||||
DROP TABLE "admin" CASCADE;
|
DROP TABLE "admin" CASCADE;
|
||||||
CREATE TABLE "admin" (
|
CREATE TABLE "admin" (
|
||||||
@@ -23,7 +23,7 @@ CREATE TABLE "admin" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device
|
-- Table: device.
|
||||||
--
|
--
|
||||||
DROP TABLE "device" CASCADE;
|
DROP TABLE "device" CASCADE;
|
||||||
CREATE TABLE "device" (
|
CREATE TABLE "device" (
|
||||||
@@ -61,7 +61,7 @@ CREATE TABLE "device" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_module
|
-- Table: device_module.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_module" CASCADE;
|
DROP TABLE "device_module" CASCADE;
|
||||||
CREATE TABLE "device_module" (
|
CREATE TABLE "device_module" (
|
||||||
@@ -85,7 +85,7 @@ CREATE TABLE "device_module" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_log
|
-- Table: device_port_log.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_log" CASCADE;
|
DROP TABLE "device_port_log" CASCADE;
|
||||||
CREATE TABLE "device_port_log" (
|
CREATE TABLE "device_port_log" (
|
||||||
@@ -101,7 +101,7 @@ CREATE TABLE "device_port_log" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_power
|
-- Table: device_port_power.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_power" CASCADE;
|
DROP TABLE "device_port_power" CASCADE;
|
||||||
CREATE TABLE "device_port_power" (
|
CREATE TABLE "device_port_power" (
|
||||||
@@ -116,7 +116,7 @@ CREATE TABLE "device_port_power" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_ssid
|
-- Table: device_port_ssid.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_ssid" CASCADE;
|
DROP TABLE "device_port_ssid" CASCADE;
|
||||||
CREATE TABLE "device_port_ssid" (
|
CREATE TABLE "device_port_ssid" (
|
||||||
@@ -127,7 +127,7 @@ CREATE TABLE "device_port_ssid" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_wireless
|
-- Table: device_port_wireless.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_wireless" CASCADE;
|
DROP TABLE "device_port_wireless" CASCADE;
|
||||||
CREATE TABLE "device_port_wireless" (
|
CREATE TABLE "device_port_wireless" (
|
||||||
@@ -138,7 +138,7 @@ CREATE TABLE "device_port_wireless" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_power
|
-- Table: device_power.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_power" CASCADE;
|
DROP TABLE "device_power" CASCADE;
|
||||||
CREATE TABLE "device_power" (
|
CREATE TABLE "device_power" (
|
||||||
@@ -150,7 +150,7 @@ CREATE TABLE "device_power" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_route
|
-- Table: device_route.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_route" CASCADE;
|
DROP TABLE "device_route" CASCADE;
|
||||||
CREATE TABLE "device_route" (
|
CREATE TABLE "device_route" (
|
||||||
@@ -163,7 +163,7 @@ CREATE TABLE "device_route" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: log
|
-- Table: log.
|
||||||
--
|
--
|
||||||
DROP TABLE "log" CASCADE;
|
DROP TABLE "log" CASCADE;
|
||||||
CREATE TABLE "log" (
|
CREATE TABLE "log" (
|
||||||
@@ -175,7 +175,7 @@ CREATE TABLE "log" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_ip
|
-- Table: node_ip.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_ip" CASCADE;
|
DROP TABLE "node_ip" CASCADE;
|
||||||
CREATE TABLE "node_ip" (
|
CREATE TABLE "node_ip" (
|
||||||
@@ -188,7 +188,7 @@ CREATE TABLE "node_ip" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_monitor
|
-- Table: node_monitor.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_monitor" CASCADE;
|
DROP TABLE "node_monitor" CASCADE;
|
||||||
CREATE TABLE "node_monitor" (
|
CREATE TABLE "node_monitor" (
|
||||||
@@ -201,7 +201,7 @@ CREATE TABLE "node_monitor" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_nbt
|
-- Table: node_nbt.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_nbt" CASCADE;
|
DROP TABLE "node_nbt" CASCADE;
|
||||||
CREATE TABLE "node_nbt" (
|
CREATE TABLE "node_nbt" (
|
||||||
@@ -218,7 +218,7 @@ CREATE TABLE "node_nbt" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_wireless
|
-- Table: node_wireless.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_wireless" CASCADE;
|
DROP TABLE "node_wireless" CASCADE;
|
||||||
CREATE TABLE "node_wireless" (
|
CREATE TABLE "node_wireless" (
|
||||||
@@ -237,7 +237,7 @@ CREATE TABLE "node_wireless" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: oui
|
-- Table: oui.
|
||||||
--
|
--
|
||||||
DROP TABLE "oui" CASCADE;
|
DROP TABLE "oui" CASCADE;
|
||||||
CREATE TABLE "oui" (
|
CREATE TABLE "oui" (
|
||||||
@@ -247,7 +247,7 @@ CREATE TABLE "oui" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: process
|
-- Table: process.
|
||||||
--
|
--
|
||||||
DROP TABLE "process" CASCADE;
|
DROP TABLE "process" CASCADE;
|
||||||
CREATE TABLE "process" (
|
CREATE TABLE "process" (
|
||||||
@@ -260,7 +260,7 @@ CREATE TABLE "process" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: sessions
|
-- Table: sessions.
|
||||||
--
|
--
|
||||||
DROP TABLE "sessions" CASCADE;
|
DROP TABLE "sessions" CASCADE;
|
||||||
CREATE TABLE "sessions" (
|
CREATE TABLE "sessions" (
|
||||||
@@ -271,7 +271,7 @@ CREATE TABLE "sessions" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: subnets
|
-- Table: subnets.
|
||||||
--
|
--
|
||||||
DROP TABLE "subnets" CASCADE;
|
DROP TABLE "subnets" CASCADE;
|
||||||
CREATE TABLE "subnets" (
|
CREATE TABLE "subnets" (
|
||||||
@@ -282,7 +282,7 @@ CREATE TABLE "subnets" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: user_log
|
-- Table: user_log.
|
||||||
--
|
--
|
||||||
DROP TABLE "user_log" CASCADE;
|
DROP TABLE "user_log" CASCADE;
|
||||||
CREATE TABLE "user_log" (
|
CREATE TABLE "user_log" (
|
||||||
@@ -295,7 +295,7 @@ CREATE TABLE "user_log" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: users
|
-- Table: users.
|
||||||
--
|
--
|
||||||
DROP TABLE "users" CASCADE;
|
DROP TABLE "users" CASCADE;
|
||||||
CREATE TABLE "users" (
|
CREATE TABLE "users" (
|
||||||
@@ -312,7 +312,7 @@ CREATE TABLE "users" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_vlan
|
-- Table: device_vlan.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_vlan" CASCADE;
|
DROP TABLE "device_vlan" CASCADE;
|
||||||
CREATE TABLE "device_vlan" (
|
CREATE TABLE "device_vlan" (
|
||||||
@@ -326,7 +326,7 @@ CREATE TABLE "device_vlan" (
|
|||||||
CREATE INDEX "device_vlan_idx_ip" on "device_vlan" ("ip");
|
CREATE INDEX "device_vlan_idx_ip" on "device_vlan" ("ip");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_ip
|
-- Table: device_ip.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_ip" CASCADE;
|
DROP TABLE "device_ip" CASCADE;
|
||||||
CREATE TABLE "device_ip" (
|
CREATE TABLE "device_ip" (
|
||||||
@@ -336,13 +336,14 @@ CREATE TABLE "device_ip" (
|
|||||||
"port" text,
|
"port" text,
|
||||||
"dns" text,
|
"dns" text,
|
||||||
"creation" timestamp DEFAULT current_timestamp,
|
"creation" timestamp DEFAULT current_timestamp,
|
||||||
PRIMARY KEY ("ip", "alias")
|
PRIMARY KEY ("ip", "alias"),
|
||||||
|
CONSTRAINT "device_ip_alias" UNIQUE ("alias")
|
||||||
);
|
);
|
||||||
CREATE INDEX "device_ip_idx_ip" on "device_ip" ("ip");
|
CREATE INDEX "device_ip_idx_ip" on "device_ip" ("ip");
|
||||||
CREATE INDEX "device_ip_idx_ip_port" on "device_ip" ("ip", "port");
|
CREATE INDEX "device_ip_idx_ip_port" on "device_ip" ("ip", "port");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port
|
-- Table: device_port.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port" CASCADE;
|
DROP TABLE "device_port" CASCADE;
|
||||||
CREATE TABLE "device_port" (
|
CREATE TABLE "device_port" (
|
||||||
@@ -373,7 +374,7 @@ CREATE INDEX "device_port_idx_ip" on "device_port" ("ip");
|
|||||||
CREATE INDEX "device_port_idx_remote_ip" on "device_port" ("remote_ip");
|
CREATE INDEX "device_port_idx_remote_ip" on "device_port" ("remote_ip");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_vlan
|
-- Table: device_port_vlan.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_vlan" CASCADE;
|
DROP TABLE "device_port_vlan" CASCADE;
|
||||||
CREATE TABLE "device_port_vlan" (
|
CREATE TABLE "device_port_vlan" (
|
||||||
@@ -390,7 +391,7 @@ CREATE INDEX "device_port_vlan_idx_ip_port" on "device_port_vlan" ("ip", "port")
|
|||||||
CREATE INDEX "device_port_vlan_idx_ip_vlan" on "device_port_vlan" ("ip", "vlan");
|
CREATE INDEX "device_port_vlan_idx_ip_vlan" on "device_port_vlan" ("ip", "vlan");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node
|
-- Table: node.
|
||||||
--
|
--
|
||||||
DROP TABLE "node" CASCADE;
|
DROP TABLE "node" CASCADE;
|
||||||
CREATE TABLE "node" (
|
CREATE TABLE "node" (
|
||||||
@@ -412,36 +413,36 @@ CREATE INDEX "node_idx_oui" on "node" ("oui");
|
|||||||
-- Foreign Key Definitions
|
-- Foreign Key Definitions
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE "device_vlan" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_vlan" ADD CONSTRAINT "device_vlan_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_ip" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_ip" ADD CONSTRAINT "device_ip_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_ip" ADD FOREIGN KEY ("ip", "port")
|
ALTER TABLE "device_ip" ADD CONSTRAINT "device_ip_fk_ip_port" FOREIGN KEY ("ip", "port")
|
||||||
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_port" ADD CONSTRAINT "device_port_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port" ADD FOREIGN KEY ("remote_ip")
|
ALTER TABLE "device_port" ADD CONSTRAINT "device_port_fk_remote_ip" FOREIGN KEY ("remote_ip")
|
||||||
REFERENCES "device_ip" ("alias") DEFERRABLE;
|
REFERENCES "device_ip" ("alias") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port_vlan" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_port_vlan" ADD CONSTRAINT "device_port_vlan_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port_vlan" ADD FOREIGN KEY ("ip", "port")
|
ALTER TABLE "device_port_vlan" ADD CONSTRAINT "device_port_vlan_fk_ip_port" FOREIGN KEY ("ip", "port")
|
||||||
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port_vlan" ADD FOREIGN KEY ("ip", "vlan")
|
ALTER TABLE "device_port_vlan" ADD CONSTRAINT "device_port_vlan_fk_ip_vlan" FOREIGN KEY ("ip", "vlan")
|
||||||
REFERENCES "device_vlan" ("ip", "vlan") DEFERRABLE;
|
REFERENCES "device_vlan" ("ip", "vlan") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "node" ADD FOREIGN KEY ("switch")
|
ALTER TABLE "node" ADD CONSTRAINT "node_fk_switch" FOREIGN KEY ("switch")
|
||||||
REFERENCES "device" ("ip") DEFERRABLE;
|
REFERENCES "device" ("ip") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "node" ADD FOREIGN KEY ("switch", "port")
|
ALTER TABLE "node" ADD CONSTRAINT "node_fk_switch_port" FOREIGN KEY ("switch", "port")
|
||||||
REFERENCES "device_port" ("ip", "port") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device_port" ("ip", "port") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "node" ADD FOREIGN KEY ("oui")
|
ALTER TABLE "node" ADD CONSTRAINT "node_fk_oui" FOREIGN KEY ("oui")
|
||||||
REFERENCES "oui" ("oui") DEFERRABLE;
|
REFERENCES "oui" ("oui") DEFERRABLE;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
--
|
--
|
||||||
-- Created by SQL::Translator::Producer::PostgreSQL
|
-- Created by SQL::Translator::Producer::PostgreSQL
|
||||||
-- Created on Tue Oct 9 21:53:39 2012
|
-- Created on Wed Oct 10 14:26:06 2012
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- Table: admin
|
-- Table: admin.
|
||||||
--
|
--
|
||||||
DROP TABLE "admin" CASCADE;
|
DROP TABLE "admin" CASCADE;
|
||||||
CREATE TABLE "admin" (
|
CREATE TABLE "admin" (
|
||||||
@@ -23,7 +23,7 @@ CREATE TABLE "admin" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device
|
-- Table: device.
|
||||||
--
|
--
|
||||||
DROP TABLE "device" CASCADE;
|
DROP TABLE "device" CASCADE;
|
||||||
CREATE TABLE "device" (
|
CREATE TABLE "device" (
|
||||||
@@ -61,7 +61,7 @@ CREATE TABLE "device" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_module
|
-- Table: device_module.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_module" CASCADE;
|
DROP TABLE "device_module" CASCADE;
|
||||||
CREATE TABLE "device_module" (
|
CREATE TABLE "device_module" (
|
||||||
@@ -85,7 +85,7 @@ CREATE TABLE "device_module" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_log
|
-- Table: device_port_log.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_log" CASCADE;
|
DROP TABLE "device_port_log" CASCADE;
|
||||||
CREATE TABLE "device_port_log" (
|
CREATE TABLE "device_port_log" (
|
||||||
@@ -101,7 +101,7 @@ CREATE TABLE "device_port_log" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_power
|
-- Table: device_port_power.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_power" CASCADE;
|
DROP TABLE "device_port_power" CASCADE;
|
||||||
CREATE TABLE "device_port_power" (
|
CREATE TABLE "device_port_power" (
|
||||||
@@ -116,7 +116,7 @@ CREATE TABLE "device_port_power" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_ssid
|
-- Table: device_port_ssid.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_ssid" CASCADE;
|
DROP TABLE "device_port_ssid" CASCADE;
|
||||||
CREATE TABLE "device_port_ssid" (
|
CREATE TABLE "device_port_ssid" (
|
||||||
@@ -127,7 +127,7 @@ CREATE TABLE "device_port_ssid" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_wireless
|
-- Table: device_port_wireless.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_wireless" CASCADE;
|
DROP TABLE "device_port_wireless" CASCADE;
|
||||||
CREATE TABLE "device_port_wireless" (
|
CREATE TABLE "device_port_wireless" (
|
||||||
@@ -138,7 +138,7 @@ CREATE TABLE "device_port_wireless" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_power
|
-- Table: device_power.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_power" CASCADE;
|
DROP TABLE "device_power" CASCADE;
|
||||||
CREATE TABLE "device_power" (
|
CREATE TABLE "device_power" (
|
||||||
@@ -150,7 +150,7 @@ CREATE TABLE "device_power" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_route
|
-- Table: device_route.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_route" CASCADE;
|
DROP TABLE "device_route" CASCADE;
|
||||||
CREATE TABLE "device_route" (
|
CREATE TABLE "device_route" (
|
||||||
@@ -163,7 +163,7 @@ CREATE TABLE "device_route" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: log
|
-- Table: log.
|
||||||
--
|
--
|
||||||
DROP TABLE "log" CASCADE;
|
DROP TABLE "log" CASCADE;
|
||||||
CREATE TABLE "log" (
|
CREATE TABLE "log" (
|
||||||
@@ -175,7 +175,7 @@ CREATE TABLE "log" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_ip
|
-- Table: node_ip.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_ip" CASCADE;
|
DROP TABLE "node_ip" CASCADE;
|
||||||
CREATE TABLE "node_ip" (
|
CREATE TABLE "node_ip" (
|
||||||
@@ -189,7 +189,7 @@ CREATE TABLE "node_ip" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_monitor
|
-- Table: node_monitor.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_monitor" CASCADE;
|
DROP TABLE "node_monitor" CASCADE;
|
||||||
CREATE TABLE "node_monitor" (
|
CREATE TABLE "node_monitor" (
|
||||||
@@ -202,7 +202,7 @@ CREATE TABLE "node_monitor" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_nbt
|
-- Table: node_nbt.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_nbt" CASCADE;
|
DROP TABLE "node_nbt" CASCADE;
|
||||||
CREATE TABLE "node_nbt" (
|
CREATE TABLE "node_nbt" (
|
||||||
@@ -219,7 +219,7 @@ CREATE TABLE "node_nbt" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node_wireless
|
-- Table: node_wireless.
|
||||||
--
|
--
|
||||||
DROP TABLE "node_wireless" CASCADE;
|
DROP TABLE "node_wireless" CASCADE;
|
||||||
CREATE TABLE "node_wireless" (
|
CREATE TABLE "node_wireless" (
|
||||||
@@ -238,7 +238,7 @@ CREATE TABLE "node_wireless" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: oui
|
-- Table: oui.
|
||||||
--
|
--
|
||||||
DROP TABLE "oui" CASCADE;
|
DROP TABLE "oui" CASCADE;
|
||||||
CREATE TABLE "oui" (
|
CREATE TABLE "oui" (
|
||||||
@@ -248,7 +248,7 @@ CREATE TABLE "oui" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: process
|
-- Table: process.
|
||||||
--
|
--
|
||||||
DROP TABLE "process" CASCADE;
|
DROP TABLE "process" CASCADE;
|
||||||
CREATE TABLE "process" (
|
CREATE TABLE "process" (
|
||||||
@@ -261,7 +261,7 @@ CREATE TABLE "process" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: sessions
|
-- Table: sessions.
|
||||||
--
|
--
|
||||||
DROP TABLE "sessions" CASCADE;
|
DROP TABLE "sessions" CASCADE;
|
||||||
CREATE TABLE "sessions" (
|
CREATE TABLE "sessions" (
|
||||||
@@ -272,7 +272,7 @@ CREATE TABLE "sessions" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: subnets
|
-- Table: subnets.
|
||||||
--
|
--
|
||||||
DROP TABLE "subnets" CASCADE;
|
DROP TABLE "subnets" CASCADE;
|
||||||
CREATE TABLE "subnets" (
|
CREATE TABLE "subnets" (
|
||||||
@@ -283,7 +283,7 @@ CREATE TABLE "subnets" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: user_log
|
-- Table: user_log.
|
||||||
--
|
--
|
||||||
DROP TABLE "user_log" CASCADE;
|
DROP TABLE "user_log" CASCADE;
|
||||||
CREATE TABLE "user_log" (
|
CREATE TABLE "user_log" (
|
||||||
@@ -296,7 +296,7 @@ CREATE TABLE "user_log" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: users
|
-- Table: users.
|
||||||
--
|
--
|
||||||
DROP TABLE "users" CASCADE;
|
DROP TABLE "users" CASCADE;
|
||||||
CREATE TABLE "users" (
|
CREATE TABLE "users" (
|
||||||
@@ -313,7 +313,7 @@ CREATE TABLE "users" (
|
|||||||
);
|
);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_vlan
|
-- Table: device_vlan.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_vlan" CASCADE;
|
DROP TABLE "device_vlan" CASCADE;
|
||||||
CREATE TABLE "device_vlan" (
|
CREATE TABLE "device_vlan" (
|
||||||
@@ -327,7 +327,7 @@ CREATE TABLE "device_vlan" (
|
|||||||
CREATE INDEX "device_vlan_idx_ip" on "device_vlan" ("ip");
|
CREATE INDEX "device_vlan_idx_ip" on "device_vlan" ("ip");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_ip
|
-- Table: device_ip.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_ip" CASCADE;
|
DROP TABLE "device_ip" CASCADE;
|
||||||
CREATE TABLE "device_ip" (
|
CREATE TABLE "device_ip" (
|
||||||
@@ -337,13 +337,14 @@ CREATE TABLE "device_ip" (
|
|||||||
"port" text,
|
"port" text,
|
||||||
"dns" text,
|
"dns" text,
|
||||||
"creation" timestamp DEFAULT current_timestamp,
|
"creation" timestamp DEFAULT current_timestamp,
|
||||||
PRIMARY KEY ("ip", "alias")
|
PRIMARY KEY ("ip", "alias"),
|
||||||
|
CONSTRAINT "device_ip_alias" UNIQUE ("alias")
|
||||||
);
|
);
|
||||||
CREATE INDEX "device_ip_idx_ip" on "device_ip" ("ip");
|
CREATE INDEX "device_ip_idx_ip" on "device_ip" ("ip");
|
||||||
CREATE INDEX "device_ip_idx_ip_port" on "device_ip" ("ip", "port");
|
CREATE INDEX "device_ip_idx_ip_port" on "device_ip" ("ip", "port");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port
|
-- Table: device_port.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port" CASCADE;
|
DROP TABLE "device_port" CASCADE;
|
||||||
CREATE TABLE "device_port" (
|
CREATE TABLE "device_port" (
|
||||||
@@ -374,7 +375,7 @@ CREATE INDEX "device_port_idx_ip" on "device_port" ("ip");
|
|||||||
CREATE INDEX "device_port_idx_remote_ip" on "device_port" ("remote_ip");
|
CREATE INDEX "device_port_idx_remote_ip" on "device_port" ("remote_ip");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: device_port_vlan
|
-- Table: device_port_vlan.
|
||||||
--
|
--
|
||||||
DROP TABLE "device_port_vlan" CASCADE;
|
DROP TABLE "device_port_vlan" CASCADE;
|
||||||
CREATE TABLE "device_port_vlan" (
|
CREATE TABLE "device_port_vlan" (
|
||||||
@@ -391,7 +392,7 @@ CREATE INDEX "device_port_vlan_idx_ip_port" on "device_port_vlan" ("ip", "port")
|
|||||||
CREATE INDEX "device_port_vlan_idx_ip_vlan" on "device_port_vlan" ("ip", "vlan");
|
CREATE INDEX "device_port_vlan_idx_ip_vlan" on "device_port_vlan" ("ip", "vlan");
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table: node
|
-- Table: node.
|
||||||
--
|
--
|
||||||
DROP TABLE "node" CASCADE;
|
DROP TABLE "node" CASCADE;
|
||||||
CREATE TABLE "node" (
|
CREATE TABLE "node" (
|
||||||
@@ -413,36 +414,36 @@ CREATE INDEX "node_idx_oui" on "node" ("oui");
|
|||||||
-- Foreign Key Definitions
|
-- Foreign Key Definitions
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE "device_vlan" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_vlan" ADD CONSTRAINT "device_vlan_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_ip" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_ip" ADD CONSTRAINT "device_ip_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_ip" ADD FOREIGN KEY ("ip", "port")
|
ALTER TABLE "device_ip" ADD CONSTRAINT "device_ip_fk_ip_port" FOREIGN KEY ("ip", "port")
|
||||||
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_port" ADD CONSTRAINT "device_port_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port" ADD FOREIGN KEY ("remote_ip")
|
ALTER TABLE "device_port" ADD CONSTRAINT "device_port_fk_remote_ip" FOREIGN KEY ("remote_ip")
|
||||||
REFERENCES "device_ip" ("alias") DEFERRABLE;
|
REFERENCES "device_ip" ("alias") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port_vlan" ADD FOREIGN KEY ("ip")
|
ALTER TABLE "device_port_vlan" ADD CONSTRAINT "device_port_vlan_fk_ip" FOREIGN KEY ("ip")
|
||||||
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device" ("ip") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port_vlan" ADD FOREIGN KEY ("ip", "port")
|
ALTER TABLE "device_port_vlan" ADD CONSTRAINT "device_port_vlan_fk_ip_port" FOREIGN KEY ("ip", "port")
|
||||||
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
REFERENCES "device_port" ("ip", "port") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "device_port_vlan" ADD FOREIGN KEY ("ip", "vlan")
|
ALTER TABLE "device_port_vlan" ADD CONSTRAINT "device_port_vlan_fk_ip_vlan" FOREIGN KEY ("ip", "vlan")
|
||||||
REFERENCES "device_vlan" ("ip", "vlan") DEFERRABLE;
|
REFERENCES "device_vlan" ("ip", "vlan") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "node" ADD FOREIGN KEY ("switch")
|
ALTER TABLE "node" ADD CONSTRAINT "node_fk_switch" FOREIGN KEY ("switch")
|
||||||
REFERENCES "device" ("ip") DEFERRABLE;
|
REFERENCES "device" ("ip") DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "node" ADD FOREIGN KEY ("switch", "port")
|
ALTER TABLE "node" ADD CONSTRAINT "node_fk_switch_port" FOREIGN KEY ("switch", "port")
|
||||||
REFERENCES "device_port" ("ip", "port") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
REFERENCES "device_port" ("ip", "port") ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE;
|
||||||
|
|
||||||
ALTER TABLE "node" ADD FOREIGN KEY ("oui")
|
ALTER TABLE "node" ADD CONSTRAINT "node_fk_oui" FOREIGN KEY ("oui")
|
||||||
REFERENCES "oui" ("oui") DEFERRABLE;
|
REFERENCES "oui" ("oui") DEFERRABLE;
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,18 @@ use Digest::MD5 ();
|
|||||||
|
|
||||||
hook 'before' => sub {
|
hook 'before' => sub {
|
||||||
if (! session('user') && request->path ne uri_for('/login')->path) {
|
if (! session('user') && request->path ne uri_for('/login')->path) {
|
||||||
if (setting('environment') eq 'development' and setting('no_auth')) {
|
if (setting('no_auth')) {
|
||||||
session(user => 'developer');
|
session(user => 'developer');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
request->path_info('/');
|
request->path_info('/');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (session('user') && session->id) {
|
||||||
|
var(user => schema('netdisco')->resultset('User')
|
||||||
|
->find(session('user')));
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
post '/login' => sub {
|
post '/login' => sub {
|
||||||
|
|||||||
Reference in New Issue
Block a user