Files
RadMac/db/init/init-schema.sql

33 lines
1.1 KiB
SQL

-- init-schema.sql
-- Create users table
CREATE TABLE IF NOT EXISTS users (
mac_address CHAR(12) NOT NULL PRIMARY KEY CHECK (mac_address REGEXP '^[0-9A-Fa-f]{12}$'),
description VARCHAR(200),
vlan_id VARCHAR(64) NOT NULL
);
-- Create auth_logs table
CREATE TABLE IF NOT EXISTS auth_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
mac_address CHAR(12) NOT NULL CHECK (mac_address REGEXP '^[0-9A-Fa-f]{12}$'),
reply ENUM('Access-Accept', 'Access-Reject', 'Accept-Fallback') NOT NULL,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
result VARCHAR(500) DEFAULT NULL
);
-- Create mac_vendors table
CREATE TABLE IF NOT EXISTS mac_vendors (
mac_prefix CHAR(6) NOT NULL PRIMARY KEY CHECK (mac_prefix REGEXP '^[0-9A-Fa-f]{6}$'),
vendor_name VARCHAR(255),
status ENUM('found', 'not_found') DEFAULT 'found',
last_checked DATETIME DEFAULT CURRENT_TIMESTAMP,
last_updated DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Create groups table
CREATE TABLE IF NOT EXISTS groups (
vlan_id VARCHAR(64) NOT NULL PRIMARY KEY,
description VARCHAR(200)
);