Files
Thomas a184c31cca Software
v0.0..1
2025-10-05 14:58:05 +02:00

29 lines
887 B
PHP

<?php
// web/db.php
function db(): PDO {
static $pdo = null;
if ($pdo) return $pdo;
$pdo = new PDO('sqlite:' . dirname(__DIR__) . '/data/app.db', null, null, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
// Bedre concurrency når bot + web arbejder samtidig
$pdo->exec('PRAGMA journal_mode=WAL');
$pdo->exec('PRAGMA synchronous=NORMAL');
$pdo->exec('PRAGMA busy_timeout=3000'); // 3s
// Sikr users-tabellen findes (kompatibel med både 'password' og 'password_hash')
$pdo->exec("
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT, -- foretrukket kolonne (password_hash())
password_hash TEXT, -- ældre kolonne (legacy)
role TEXT DEFAULT 'user'
)
");
return $pdo;
}