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>
The ConfirmDelete page now uses parts of the photopage. The
Confirmation dialog is its own template which is based on Alert.
The database now updates the album thumb to the most recent
addition to the album, when the album thumb asset is being deleted.
When there are no pictures left in the album 0 will be set.