feat: connexion pdo sqlite et initialisation du schema
This commit is contained in:
1 parent
9ebd6a424c
commit
b7317bd8e1
1 file changed
+28
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
final class Database
|
||||
{
|
||||
private static ?PDO $pdo = null;
|
||||
|
||||
public static function connect(): PDO
|
||||
{
|
||||
if (self::$pdo !== null) {
|
||||
return self::$pdo;
|
||||
}
|
||||
|
||||
$root = dirname(__DIR__);
|
||||
$dsn = 'sqlite:' . $root . '/database/api_tube.sqlite';
|
||||
|
||||
self::$pdo = new PDO($dsn);
|
||||
self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
self::$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
||||
self::$pdo->exec('PRAGMA foreign_keys = ON');
|
||||
|
||||
$schema = file_get_contents($root . '/database/schema.sql');
|
||||
self::$pdo->exec($schema);
|
||||
|
||||
return self::$pdo;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user