Started work in SQLite support

This commit is contained in:
Pinga 2025-02-15 14:29:29 +02:00
parent d7e7408072
commit 738985b256
4 changed files with 900 additions and 4 deletions

View file

@ -29,10 +29,15 @@ try {
// Create PDO instance
if ($dbDriver == 'mysql') {
$dsn = "mysql:host=$dbHost;dbname=$dbName;charset=utf8";
$pdo = new PDO($dsn, $dbUser, $dbPass);
} elseif ($dbDriver == 'pgsql') {
$dsn = "pgsql:host=$dbHost;dbname=$dbName";
$pdo = new PDO($dsn, $dbUser, $dbPass);
} elseif ($dbDriver == 'sqlite') {
$dsn = "sqlite:/var/www/cp/registry.db";
$pdo = new PDO($dsn);
}
$pdo = new PDO($dsn, $dbUser, $dbPass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// SQL query

View file

@ -11,7 +11,7 @@ $defaultDriver = config('default') ?? 'mysql';
$supportedDrivers = [
'mysql' => "{$config['mysql']['driver']}:dbname={$config['mysql']['database']};host={$config['mysql']['host']};charset={$config['mysql']['charset']}",
'sqlite' => "{$config['sqlite']['driver']}:{$config['sqlite']['driver']}",
'sqlite' => "{$config['sqlite']['driver']}:{$config['sqlite']['database']}",
'pgsql' => "{$config['pgsql']['driver']}:dbname={$config['pgsql']['database']};host={$config['pgsql']['host']}"
];
@ -23,7 +23,11 @@ try {
$driver = $supportedDrivers[$defaultDriver] ?? $supportedDrivers['mysql'];
// Create PDO connection
$pdo = new \PDO($driver, $config[$defaultDriver]['username'], $config[$defaultDriver]['password']);
if (str_starts_with($driver, "sqlite")) {
$pdo = new \PDO($driver);
} else {
$pdo = new \PDO($driver, $config[$defaultDriver]['username'], $config[$defaultDriver]['password']);
}
$db = PdoDatabase::fromPdo($pdo);
} catch (PDOException $e) {

View file

@ -34,7 +34,7 @@ return [
],
'sqlite' => [
'driver' => 'sqlite',
'database' => $_ENV['DB_DATABASE'] ?? __DIR__.'/database.sqlite',
'database' => $_ENV['DB_DATABASE'] ?? __DIR__.'/registry.db',
'prefix' => '',
],
'pgsql' => [