Add SQLite support as alternative database backend
Support config-driven choice between MySQL and SQLite via DB_DRIVER constant, defaulting to MySQL for backward compatibility. All SQL adaptation lives in Database.php (UDFs + query rewriting), so model files need no changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> SQLite: remove FK constraints, revert 0→null sentinel changes The SQLite schema had FOREIGN KEY constraints that don't exist in the MySQL schema. These forced a cascade of 0→null changes to satisfy FK enforcement. Removing them keeps the two backends behaviorally consistent and minimises the diff. Real SQLite compat fixes (UDFs, query rewriting, rowCount→count, Router fixes, EditAlbum guard) are preserved. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
8
app.php
8
app.php
@@ -14,7 +14,13 @@ require_once 'vendor/autoload.php';
|
||||
|
||||
// Initialise the database.
|
||||
Registry::set('start', microtime(true));
|
||||
Registry::set('db', new Database(DB_SERVER, DB_USER, DB_PASS, DB_NAME));
|
||||
if (defined('DB_DRIVER') && DB_DRIVER === 'sqlite')
|
||||
Registry::set('db', new Database('sqlite', ['file' => DB_FILE]));
|
||||
else
|
||||
Registry::set('db', new Database('mysql', [
|
||||
'host' => DB_SERVER, 'user' => DB_USER,
|
||||
'password' => DB_PASS, 'name' => DB_NAME,
|
||||
]));
|
||||
|
||||
// Handle errors our own way.
|
||||
ErrorHandler::enable();
|
||||
|
||||
Reference in New Issue
Block a user