2015-10-10 17:42:44 +02:00
|
|
|
#!/usr/bin/python3
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/' + '../..'))
|
|
|
|
|
|
|
|
from ffmap.mysqltools import FreifunkMySQL
|
|
|
|
|
|
|
|
mysql = FreifunkMySQL()
|
|
|
|
|
2017-12-11 23:16:05 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE banned (
|
2017-12-28 17:22:07 +01:00
|
|
|
`mac` char(17) COLLATE utf8_unicode_ci NOT NULL,
|
2017-12-11 23:16:05 +01:00
|
|
|
`added` datetime NOT NULL
|
2017-12-28 16:16:32 +01:00
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
2017-12-11 23:16:05 +01:00
|
|
|
""")
|
|
|
|
|
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE `banned`
|
2017-12-28 16:16:32 +01:00
|
|
|
ADD PRIMARY KEY (`mac`)
|
|
|
|
""")
|
|
|
|
|
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE netifs (
|
|
|
|
`id` smallint(6) UNSIGNED NOT NULL,
|
|
|
|
`name` varchar(15) COLLATE utf8_unicode_ci NOT NULL
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE netifs
|
|
|
|
ADD PRIMARY KEY (`id`),
|
|
|
|
ADD UNIQUE KEY `name` (`name`)
|
|
|
|
""")
|
|
|
|
|
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE netifs
|
|
|
|
MODIFY `id` smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT
|
2017-12-11 23:16:05 +01:00
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router (
|
2017-12-28 17:05:11 +01:00
|
|
|
`id` mediumint(8) UNSIGNED NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`status` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`hostname` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`created` datetime NOT NULL,
|
|
|
|
`last_contact` datetime NOT NULL,
|
|
|
|
`sys_time` datetime NOT NULL,
|
|
|
|
`sys_uptime` int(11) NOT NULL,
|
|
|
|
`sys_memfree` int(11) NOT NULL,
|
|
|
|
`sys_membuff` int(11) NOT NULL,
|
|
|
|
`sys_memcache` int(11) NOT NULL,
|
2017-12-28 17:07:58 +01:00
|
|
|
`sys_loadavg` float NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`sys_procrun` smallint(6) NOT NULL,
|
|
|
|
`sys_proctot` smallint(6) NOT NULL,
|
|
|
|
`clients` smallint(6) NOT NULL,
|
|
|
|
`wan_uplink` tinyint(1) NOT NULL,
|
|
|
|
`cpu` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`chipset` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`hardware` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`os` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`batman` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`kernel` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`nodewatcher` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`firmware` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`firmware_rev` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`description` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`position_comment` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`community` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
2017-12-28 17:16:39 +01:00
|
|
|
`hood` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`status_text` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`contact` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`lng` double DEFAULT NULL,
|
|
|
|
`lat` double DEFAULT NULL,
|
2017-11-22 23:22:08 +01:00
|
|
|
`reset` tinyint(1) NOT NULL DEFAULT '0',
|
2017-11-05 19:48:29 +01:00
|
|
|
`neighbors` smallint(6) NOT NULL
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
2017-12-12 15:37:33 +01:00
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router
|
|
|
|
ADD PRIMARY KEY (`id`),
|
|
|
|
ADD KEY `created` (`created`),
|
|
|
|
ADD KEY `hostname` (`hostname`),
|
|
|
|
ADD KEY `status` (`status`),
|
|
|
|
ADD KEY `last_contact` (`last_contact`),
|
|
|
|
ADD KEY `lat` (`lat`),
|
|
|
|
ADD KEY `lng` (`lng`),
|
|
|
|
ADD KEY `contact` (`contact`),
|
|
|
|
ADD KEY `hood` (`hood`)
|
|
|
|
""")
|
|
|
|
|
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router
|
2017-12-28 17:05:11 +01:00
|
|
|
MODIFY `id` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT
|
2017-12-12 15:37:33 +01:00
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router_events (
|
2017-12-28 17:05:11 +01:00
|
|
|
`router` mediumint(8) UNSIGNED NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`time` datetime NOT NULL,
|
|
|
|
`type` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`comment` varchar(200) COLLATE utf8_unicode_ci NOT NULL
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
2017-12-12 15:37:33 +01:00
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router_events
|
|
|
|
ADD PRIMARY KEY (`router`,`time`,`type`)
|
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router_ipv6 (
|
2017-12-28 17:05:11 +01:00
|
|
|
`router` mediumint(8) UNSIGNED NOT NULL,
|
2017-12-12 16:06:28 +01:00
|
|
|
`netif` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`ipv6` varchar(60) COLLATE utf8_unicode_ci NOT NULL
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
2017-12-12 15:37:33 +01:00
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router_ipv6
|
|
|
|
ADD PRIMARY KEY (`router`,`netif`,`ipv6`)
|
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router_neighbor (
|
2017-12-28 17:05:11 +01:00
|
|
|
`router` mediumint(8) UNSIGNED NOT NULL,
|
2017-12-28 17:22:07 +01:00
|
|
|
`mac` char(17) COLLATE utf8_unicode_ci NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`quality` smallint(6) NOT NULL,
|
2017-12-12 16:06:28 +01:00
|
|
|
`net_if` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`type` varchar(10) COLLATE utf8_unicode_ci DEFAULT 'l2'
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
2017-12-12 15:37:33 +01:00
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router_neighbor
|
2017-12-29 19:09:11 +01:00
|
|
|
ADD PRIMARY KEY (`router`,`mac`)
|
2017-12-12 15:37:33 +01:00
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router_netif (
|
2017-12-28 17:05:11 +01:00
|
|
|
`router` mediumint(8) UNSIGNED NOT NULL,
|
2017-12-12 16:06:28 +01:00
|
|
|
`netif` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`mtu` smallint(6) NOT NULL,
|
2017-12-29 14:24:18 +01:00
|
|
|
`rx_bytes` bigint(20) UNSIGNED NOT NULL,
|
|
|
|
`tx_bytes` bigint(20) UNSIGNED NOT NULL,
|
2017-12-29 16:26:28 +01:00
|
|
|
`rx` int(10) UNSIGNED NOT NULL,
|
|
|
|
`tx` int(10) UNSIGNED NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`fe80_addr` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`ipv4_addr` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
|
2017-12-29 15:24:37 +01:00
|
|
|
`mac` char(17) COLLATE utf8_unicode_ci NOT NULL,
|
|
|
|
`wlan_channel` tinyint(3) UNSIGNED DEFAULT NULL,
|
|
|
|
`wlan_type` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
|
|
`wlan_width` tinyint(3) UNSIGNED DEFAULT NULL,
|
|
|
|
`wlan_ssid` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
|
|
`wlan_txpower` varchar(8) COLLATE utf8_unicode_ci DEFAULT NULL
|
2017-11-05 19:48:29 +01:00
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
2017-12-12 15:37:33 +01:00
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router_netif
|
|
|
|
ADD PRIMARY KEY (`router`,`netif`),
|
|
|
|
ADD KEY `mac` (`mac`)
|
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router_stats (
|
2017-12-12 15:37:33 +01:00
|
|
|
`time` int(11) NOT NULL,
|
2017-12-28 20:34:19 +01:00
|
|
|
`router` mediumint(8) UNSIGNED NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`sys_proctot` smallint(6) NOT NULL,
|
|
|
|
`sys_procrun` smallint(6) NOT NULL,
|
|
|
|
`sys_memcache` int(11) NOT NULL,
|
|
|
|
`sys_membuff` int(11) NOT NULL,
|
|
|
|
`sys_memfree` int(11) NOT NULL,
|
2017-12-28 17:07:58 +01:00
|
|
|
`loadavg` float NOT NULL,
|
2017-11-05 19:48:29 +01:00
|
|
|
`clients` smallint(6) NOT NULL
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
2017-12-12 15:37:33 +01:00
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router_stats
|
2017-12-12 17:16:53 +01:00
|
|
|
ADD PRIMARY KEY (`time`,`router`),
|
|
|
|
ADD KEY `router` (`router`)
|
2017-12-12 15:37:33 +01:00
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router_stats_neighbor (
|
2017-12-28 20:34:19 +01:00
|
|
|
`time` int(11) NOT NULL,
|
2017-12-28 17:05:11 +01:00
|
|
|
`router` mediumint(8) UNSIGNED NOT NULL,
|
2017-12-28 17:22:07 +01:00
|
|
|
`mac` char(17) COLLATE utf8_unicode_ci NOT NULL,
|
2017-12-28 20:34:19 +01:00
|
|
|
`quality` smallint(6) NOT NULL
|
2017-11-05 19:48:29 +01:00
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
2017-12-12 15:37:33 +01:00
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router_stats_neighbor
|
2017-12-12 17:16:53 +01:00
|
|
|
ADD PRIMARY KEY (`time`,`router`,`mac`),
|
|
|
|
ADD KEY `router` (`router`)
|
2017-12-12 15:37:33 +01:00
|
|
|
""")
|
|
|
|
|
2017-11-05 19:48:29 +01:00
|
|
|
mysql.execute("""
|
|
|
|
CREATE TABLE router_stats_netif (
|
2017-12-28 20:34:19 +01:00
|
|
|
`time` int(11) NOT NULL,
|
2017-12-28 17:05:11 +01:00
|
|
|
`router` mediumint(8) UNSIGNED NOT NULL,
|
2017-12-28 16:16:32 +01:00
|
|
|
`netif` smallint(6) UNSIGNED NOT NULL,
|
2017-12-28 16:55:35 +01:00
|
|
|
`rx` int(10) UNSIGNED NOT NULL,
|
|
|
|
`tx` int(10) UNSIGNED NOT NULL,
|
2017-12-12 15:37:33 +01:00
|
|
|
`deletebit` tinyint(1) NOT NULL DEFAULT '0'
|
2017-11-05 19:48:29 +01:00
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
|
|
|
""")
|
|
|
|
|
|
|
|
mysql.execute("""
|
|
|
|
ALTER TABLE router_stats_netif
|
2017-12-12 17:16:53 +01:00
|
|
|
ADD PRIMARY KEY (`time`,`router`,`netif`),
|
2017-12-20 17:15:11 +01:00
|
|
|
ADD KEY `router` (`router`),
|
|
|
|
ADD KEY `deletebit` (`deletebit`)
|
2017-11-05 19:48:29 +01:00
|
|
|
""")
|
|
|
|
|
|
|
|
mysql.close()
|