setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo_server->exec("CREATE DATABASE IF NOT EXISTS `" . DB_NAME . "` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); echo "Database '" . DB_NAME . "' checked/created.\n"; // Connect to the specific database $pdo = db(); echo "Database connected successfully.\n"; // Ensure users table exists with a minimal schema $pdo->exec("\n CREATE TABLE IF NOT EXISTS `users` (\n `id` INT AUTO_INCREMENT PRIMARY KEY,\n `email` VARCHAR(100) NOT NULL UNIQUE,\n `password` VARCHAR(255) NOT NULL,\n `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;\n "); echo "Base 'users' table checked/created.\n"; // --- Add columns if they don't exist --- $columns = [ 'name' => "ADD COLUMN `name` VARCHAR(50) NOT NULL AFTER `id`", 'surname' => "ADD COLUMN `surname` VARCHAR(50) NOT NULL AFTER `name`", 'role' => "ADD COLUMN `role` ENUM('talent', 'agency', 'admin') NOT NULL DEFAULT 'talent' AFTER `password`", 'bio' => "ADD COLUMN `bio` TEXT AFTER `role`", 'category' => "ADD COLUMN `category` VARCHAR(100) AFTER `bio`", 'profile_status' => "ADD COLUMN `profile_status` VARCHAR(50) NOT NULL DEFAULT 'new' AFTER `category`" ]; foreach ($columns as $column_name => $add_sql) { $stmt = $pdo->query("SHOW COLUMNS FROM `users` LIKE '$column_name'"); if ($stmt->fetch(PDO::FETCH_ASSOC)) { echo "Column '$column_name' already exists.\n"; } else { $pdo->exec("ALTER TABLE `users` $add_sql;"); echo "Column '$column_name' added successfully.\n"; } } // Create 'influencer_requests' table if not exists $pdo->exec("\n CREATE TABLE IF NOT EXISTS `influencer_requests` (\n `id` INT AUTO_INCREMENT PRIMARY KEY,\n `influencer_user_id` INT NOT NULL,\n `client_name` VARCHAR(255) NOT NULL,\n `client_surname` VARCHAR(255) NOT NULL,\n `client_phone` VARCHAR(50) NOT NULL,\n `message` TEXT,\n `status` VARCHAR(50) NOT NULL DEFAULT 'new',\n `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (`influencer_user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;\n "); echo "Table 'influencer_requests' checked/created.\n"; } catch (PDOException $e) { die("Error: " . $e->getMessage()); }