CREATE DATABASE IF NOT EXISTS phpsite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE phpsite; CREATE TABLE IF NOT EXISTS users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY users_username_unique (username) ); CREATE TABLE IF NOT EXISTS vm_requests ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, vm_name VARCHAR(64) NOT NULL, domain_name VARCHAR(64) NOT NULL, size ENUM('small', 'medium', 'big') NOT NULL, vcpus TINYINT UNSIGNED NOT NULL, ram_gb SMALLINT UNSIGNED NOT NULL, disk_gb SMALLINT UNSIGNED NOT NULL, requested_by VARCHAR(50) NOT NULL, status ENUM('queued', 'building', 'ready', 'failed', 'deployed_to_netbox', 'cancelled') NOT NULL DEFAULT 'queued', description VARCHAR(500) DEFAULT NULL, usernames VARCHAR(500) DEFAULT NULL, sudo_usernames VARCHAR(500) DEFAULT NULL, netbox_device_id INT UNSIGNED NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY vm_requests_vm_name_unique (vm_name), KEY vm_requests_created_at_index (created_at) );