exec(" CREATE TABLE IF NOT EXISTS partners ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, user_id INT UNIQUE ) "); // 2. Add partner_id to residents table $db->exec("ALTER TABLE residents ADD COLUMN partner_id INT NULL"); // 3. Create a user for a partner (if not exists) $partner_email = 'partner@goodwill.example'; $stmt = $db->prepare("SELECT id FROM users WHERE email = ?"); $stmt->execute([$partner_email]); $partner_user_id = $stmt->fetchColumn(); if (!$partner_user_id) { $db->prepare("INSERT INTO users (email, password, role) VALUES (?, ?, ?)")->execute([$partner_email, password_hash('password123', PASSWORD_DEFAULT), 'partner']); $partner_user_id = $db->lastInsertId(); } // 4. Create a partner profile $stmt = $db->prepare("SELECT id FROM partners WHERE user_id = ?"); $stmt->execute([$partner_user_id]); $partner_id = $stmt->fetchColumn(); if (!$partner_id) { $db->prepare("INSERT INTO partners (name, user_id) VALUES (?, ?)")->execute(['Goodwill Housing', $partner_user_id]); $partner_id = $db->lastInsertId(); } // 5. Assign some residents to the partner $db->exec("UPDATE residents SET partner_id = {$partner_id} WHERE program = 'Housing'"); echo "Database schema updated successfully for partner feature."; } catch (PDOException $e) { die("Database migration failed: " . $e->getMessage()); }