monitoring/ffmap/db/gws.py

68 lines
1.7 KiB
Python
Executable File

#!/usr/bin/python3
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/' + '../..'))
from ffmap.mysqltools import FreifunkMySQL
mysql = FreifunkMySQL()
mysql.execute("""
CREATE TABLE `gw` (
`id` smallint(5) UNSIGNED NOT NULL,
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`stats_page` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`version` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`last_contact` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
""")
mysql.execute("""
ALTER TABLE `gw`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `name` (`name`)
""")
mysql.execute("""
ALTER TABLE `gw`
MODIFY `id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT
""")
mysql.execute("""
CREATE TABLE `gw_admin` (
`gw` smallint(5) UNSIGNED NOT NULL,
`name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`prio` tinyint(3) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
""")
mysql.execute("""
ALTER TABLE `gw_admin`
ADD PRIMARY KEY (`gw`,`name`)
""")
mysql.execute("""
CREATE TABLE `gw_netif` (
`gw` smallint(5) UNSIGNED NOT NULL,
`mac` bigint(20) UNSIGNED NOT NULL,
`netif` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
`vpnmac` bigint(20) UNSIGNED DEFAULT NULL,
`ipv4` char(18) COLLATE utf8_unicode_ci DEFAULT NULL,
`ipv6` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL,
`dhcpstart` char(15) COLLATE utf8_unicode_ci DEFAULT NULL,
`dhcpend` char(15) COLLATE utf8_unicode_ci DEFAULT NULL,
`last_contact` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
""")
mysql.execute("""
ALTER TABLE `gw_netif`
ADD PRIMARY KEY (`mac`),
ADD KEY `gw` (`gw`)
""")
mysql.commit()
mysql.close()