monitoring/ffmap/db/gws.py

60 lines
1.4 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,
`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` char(17) COLLATE utf8_unicode_ci NOT NULL,
`netif` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
`vpnif` varchar(15) COLLATE utf8_unicode_ci DEFAULT 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.close()