Преглед изворни кода

fixes in postgres & mysql schema

Dmitriev Roman пре 3 месеци
родитељ
комит
6d7b115a87

+ 1 - 1
docs/databases/mysql/en/create_db.sql

@@ -358,7 +358,7 @@ CREATE TABLE `user_auth` (
   `wikiname` varchar(250) DEFAULT NULL,
   `dhcp_acl` text DEFAULT NULL,
   `queue_id` int(11) NOT NULL DEFAULT 0,
-  `mac` varchar(20) NOT NULL DEFAULT '',
+  `mac` varchar(17) DEFAULT NULL,
   `dhcp_action` varchar(10) NOT NULL DEFAULT '',
   `dhcp_option_set` varchar(50) DEFAULT NULL,
   `dhcp_time` datetime NOT NULL DEFAULT current_timestamp(),

+ 1 - 1
docs/databases/mysql/ru/create_db.sql

@@ -358,7 +358,7 @@ CREATE TABLE `user_auth` (
   `wikiname` varchar(250) DEFAULT NULL,
   `dhcp_acl` text DEFAULT NULL,
   `queue_id` int(11) NOT NULL DEFAULT 0,
-  `mac` varchar(20) NOT NULL DEFAULT '',
+  `mac` varchar(17) DEFAULT NULL,
   `dhcp_action` varchar(10) NOT NULL DEFAULT '',
   `dhcp_option_set` varchar(50) DEFAULT NULL,
   `dhcp_time` datetime NOT NULL DEFAULT current_timestamp(),

+ 4 - 4
docs/databases/postgres/en/create_db.sql

@@ -321,7 +321,7 @@ COMMENT ON TABLE group_list IS 'Filtering policy groups';
 -- MAC address history
 CREATE TABLE mac_history (
 id BIGSERIAL PRIMARY KEY,
-mac VARCHAR(12),
+mac MACADDR NOT NULL,
 ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
 device_id BIGINT,
 port_id BIGINT,
@@ -330,7 +330,7 @@ auth_id BIGINT,
 dhcp_hostname VARCHAR(250)
 );
 COMMENT ON TABLE mac_history IS 'MAC address movement history';
-COMMENT ON COLUMN mac_history.mac IS 'MAC address (12 hexadecimal characters)';
+COMMENT ON COLUMN mac_history.mac IS 'MAC address';
 COMMENT ON COLUMN mac_history.ip IS 'Last used IP address';
 
 -- MAC address vendors
@@ -445,7 +445,7 @@ COMMENT ON COLUMN traffic_detail.bytes IS 'Bytes transferred in this flow';
 -- Unknown MAC addresses
 CREATE TABLE unknown_mac (
 id BIGSERIAL PRIMARY KEY,
-mac VARCHAR(12),
+mac MACADDR NOT NULL,
 port_id BIGINT,
 device_id INTEGER,
 ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
@@ -472,7 +472,7 @@ dns_ptr_only SMALLINT NOT NULL DEFAULT 0,
 wikiname VARCHAR(250),
 dhcp_acl TEXT,
 queue_id INTEGER NOT NULL DEFAULT 0,
-mac VARCHAR(20) NOT NULL DEFAULT '',
+mac MACADDR,
 dhcp_action VARCHAR(10) NOT NULL DEFAULT '',
 dhcp_option_set VARCHAR(50),
 dhcp_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+ 4 - 4
docs/databases/postgres/ru/create_db.sql

@@ -321,7 +321,7 @@ COMMENT ON TABLE group_list IS 'Группы политик фильтрации
 -- История MAC-адресов
 CREATE TABLE mac_history (
 id BIGSERIAL PRIMARY KEY,
-mac VARCHAR(12),
+mac MACADDR NOT NULL,
 ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
 device_id BIGINT,
 port_id BIGINT,
@@ -330,7 +330,7 @@ auth_id BIGINT,
 dhcp_hostname VARCHAR(250)
 );
 COMMENT ON TABLE mac_history IS 'История перемещений MAC-адресов';
-COMMENT ON COLUMN mac_history.mac IS 'MAC-адрес (12 шестнадцатеричных символов)';
+COMMENT ON COLUMN mac_history.mac IS 'MAC-адрес';
 COMMENT ON COLUMN mac_history.ip IS 'Последний использованный IP-адрес';
 
 -- Производители MAC-адресов
@@ -446,7 +446,7 @@ COMMENT ON COLUMN traffic_detail.bytes IS 'Байтов переданно в э
 -- Неизвестные MAC-адреса
 CREATE TABLE unknown_mac (
 id BIGSERIAL PRIMARY KEY,
-mac VARCHAR(12),
+mac MACADDR NOT NULL,
 port_id BIGINT,
 device_id INTEGER,
 ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
@@ -473,7 +473,7 @@ dns_ptr_only SMALLINT NOT NULL DEFAULT 0,
 wikiname VARCHAR(250),
 dhcp_acl TEXT,
 queue_id INTEGER NOT NULL DEFAULT 0,
-mac VARCHAR(20) NOT NULL DEFAULT '',
+mac MACADDR,
 dhcp_action VARCHAR(10) NOT NULL DEFAULT '',
 dhcp_option_set VARCHAR(50),
 dhcp_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+ 1 - 1
scripts/fetch_new_arp.pl

@@ -262,7 +262,7 @@ foreach my $auth (@auth_full_list) {
 }
 
 # Load unknown MAC addresses from the database
-my @unknown_list = get_records_sql($dbh, "SELECT id, mac, port_id, device_id FROM unknown_mac WHERE mac != '' ORDER BY mac");
+my @unknown_list = get_records_sql($dbh, "SELECT id, mac, port_id, device_id FROM unknown_mac WHERE mac IS NOT NULL ORDER BY mac;");
 my %unknown_table;
 foreach my $unknown (@unknown_list) {
     next if (!$unknown);

+ 0 - 1
scripts/updates/3-0-1/migration.msql

@@ -161,4 +161,3 @@ UPDATE `mac_history` SET mac = CONCAT( SUBSTRING(mac, 1, 2), ':', SUBSTRING(mac,
 -- 2. Обновляем unknown_mac
 ALTER TABLE `unknown_mac` MODIFY COLUMN `mac` VARCHAR(17) DEFAULT NULL;
 UPDATE `unknown_mac` SET mac = CONCAT( SUBSTRING(mac, 1, 2), ':', SUBSTRING(mac, 3, 2), ':', SUBSTRING(mac, 5, 2), ':', SUBSTRING(mac, 7, 2), ':', SUBSTRING(mac, 9, 2), ':', SUBSTRING(mac, 11, 2) ) WHERE mac IS NOT NULL AND LENGTH(mac) = 12;
-