35311-vm/db/migrations/003_add_partner_schema.php
2025-10-30 00:12:08 +00:00

48 lines
1.6 KiB
PHP

<?php
require_once __DIR__ . '/../config.php';
try {
$db = db();
// 1. Create partners table
$db->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());
}