35032-vm/db/config.php
Flatlogic Bot 939f985a90 stage 1
2025-10-17 19:11:06 +00:00

91 lines
3.2 KiB
PHP

<?php
define('DB_HOST', '127.0.0.1');
define('DB_NAME', 'app_30972');
define('DB_USER', 'app_30972');
define('DB_PASS', '9eb17a13-4a89-4e11-8517-0c201096e935');
function db() {
static $pdo;
if (!$pdo) {
$pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8mb4', DB_USER, DB_PASS, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
}
return $pdo;
}
function db_init() {
try {
$pdo = db();
// Contact Submissions Table
$pdo->exec("CREATE TABLE IF NOT EXISTS contact_submissions (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
message TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);");
// Organizations Table
$pdo->exec("CREATE TABLE IF NOT EXISTS Organization (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
type ENUM('Insurer','Financier','OEM','FleetOperator','Partner') NOT NULL,
contactEmail VARCHAR(255),
phone VARCHAR(255),
address TEXT,
website VARCHAR(255),
approved BOOLEAN DEFAULT false,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);");
// Users Table
$pdo->exec("CREATE TABLE IF NOT EXISTS User (
id INT AUTO_INCREMENT PRIMARY KEY,
firstName VARCHAR(255) NOT NULL,
lastName VARCHAR(255),
email VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
phone VARCHAR(255),
role ENUM('Rider','FleetOperator','Insurer','Financier','OEM','Partner','Support','Admin','Public') NOT NULL,
organizationId INT,
verified BOOLEAN DEFAULT false,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (organizationId) REFERENCES Organization(id) ON DELETE SET NULL
);");
// Fleets Table
$pdo->exec("CREATE TABLE IF NOT EXISTS Fleet (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
organizationId INT,
managerUserId INT,
notes TEXT,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (organizationId) REFERENCES Organization(id) ON DELETE CASCADE,
FOREIGN KEY (managerUserId) REFERENCES User(id) ON DELETE SET NULL
);");
// Vehicles Table
$pdo->exec("CREATE TABLE IF NOT EXISTS Vehicle (
id INT AUTO_INCREMENT PRIMARY KEY,
vin VARCHAR(255) UNIQUE,
model VARCHAR(255) NOT NULL,
licensePlate VARCHAR(255),
ownerUserId INT,
fleetId INT,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (ownerUserId) REFERENCES User(id) ON DELETE SET NULL,
FOREIGN KEY (fleetId) REFERENCES Fleet(id) ON DELETE SET NULL
);");
} catch (PDOException $e) {
die("Database initialization failed: " . $e->getMessage());
}
}
// Run the initialization function to ensure tables exist.
db_init();