-- Tables required by the radadmin API that are NOT part of the FreeRADIUS -- schema. FreeRADIUS never reads or writes these; they hold billing status and -- human-only metadata (name/phone/alias). Import this after the FreeRADIUS -- schema.sql. CREATE TABLE IF NOT EXISTS customers ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(64) NOT NULL, mac_address VARCHAR(17) NOT NULL, status VARCHAR(10) NOT NULL DEFAULT 'new', created_at DATETIME NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ); CREATE TABLE IF NOT EXISTS radadmin_clients ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, mac_address VARCHAR(17) NOT NULL, name VARCHAR(128) NULL, phone VARCHAR(32) NULL, alias VARCHAR(64) NULL, created_at DATETIME NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uq_radadmin_clients_mac (mac_address) ); CREATE TABLE IF NOT EXISTS radadmin_devices ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, mac_address VARCHAR(17) NOT NULL, alias VARCHAR(64) NULL, created_at DATETIME NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uq_radadmin_devices_mac (mac_address) );