Files
armeech-neptune/backend/config/database.php
T
janis 105bbb2b2c
Deploy / deploy (push) Successful in 39s
fixing db
2026-05-07 21:17:46 +02:00

45 lines
1.6 KiB
PHP

<?php
function getDbConnection() {
static $db = null;
if ($db === null) {
$host = getenv('DB_HOST') ?: 'mysql';
$dbname = getenv('DB_NAME') ?: 'neptune';
$user = getenv('DB_USER') ?: 'neptune';
$pass = getenv('DB_PASS') ?: 'neptune_pass';
$db = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
migrate($db);
}
return $db;
}
function migrate($db) {
$db->exec("CREATE TABLE IF NOT EXISTS network_shapes (
id INT AUTO_INCREMENT PRIMARY KEY,
label VARCHAR(255) NOT NULL DEFAULT '',
shape_type ENUM('rectangle','ellipse','zone') DEFAULT 'rectangle',
pos_x FLOAT DEFAULT 0,
pos_y FLOAT DEFAULT 0,
width FLOAT DEFAULT 200,
height FLOAT DEFAULT 150,
color VARCHAR(7) DEFAULT '#1e3a5f',
border_color VARCHAR(7) DEFAULT '#3b82f6',
opacity FLOAT DEFAULT 0.15,
z_index INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)");
$db->exec("CREATE TABLE IF NOT EXISTS neptune_users (
id INT AUTO_INCREMENT PRIMARY KEY,
user_token VARCHAR(255) NOT NULL UNIQUE,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) DEFAULT '',
role ENUM('admin','user') DEFAULT 'user',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)");
try {
$db->exec("ALTER TABLE network_nodes ADD COLUMN notes TEXT DEFAULT ''");
} catch (Exception $e) {
}
}