====== Database Schema & SQL Setup ====== Traffic Elf uses a MySQL database named: trafficelf A dedicated database user is used for application access: Username: tedbeditor Development Pass: !0meg4# ---- ===== Database Creation ===== CREATE DATABASE trafficelf CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ---- ===== User Access ===== (Assumes user already exists) GRANT ALL PRIVILEGES ON trafficelf.* TO 'tedbeditor'@'localhost'; FLUSH PRIVILEGES; ---- ===== Clients Table ===== Stores advertiser and client information. Columns: * name * address * phone * contact_name * contact_title * notes CREATE TABLE clients ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, address TEXT, phone VARCHAR(50), contact_name VARCHAR(255), contact_title VARCHAR(255), notes TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); ---- ===== Campaigns Table ===== Stores advertising campaigns associated with clients or agencies. Columns: * name * owner * notes * agency * start_date * end_date CREATE TABLE campaigns ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, owner VARCHAR(255), notes TEXT, agency VARCHAR(255), start_date DATE, end_date DATE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); ---- ===== Notes ===== * Foreign key relationships (clients ↔ campaigns) will be added later * Dates use DATE type to support scheduling and reporting * Timestamps assist with auditing and syncing