Overview
Add database support (SQLite initially, with MySQL/PostgreSQL option) to store system settings, configuration, and operational data that currently lives in JSON files or PHP arrays.
Scope
- Database abstraction layer (PDO-based)
- Migration system for schema versioning
- Move from file-based storage to DB: API keys, lookup stats, watched domains, rate limits
- Config table for runtime-editable settings (vs static config.php for deployment settings)
- Admin dashboard reads from DB instead of JSON files
Database Options
- SQLite (default): Zero-config, file-based, perfect for single-server deployments
- MySQL/PostgreSQL: Optional, configured via config.php for multi-server deployments
- SQL Server: additional support
Database Options
MySQL/MariaDB
- All queries via PHP MySQLI and to use prepared statements for increased, enhanced security
Additional considerationa
- Database migration Prepare additional workflows to migrate from across multiple database systems, especially if SQLite is the (initial) default. Users may want to (later) migrate to another supported platform.
Overview
Add database support (SQLite initially, with MySQL/PostgreSQL option) to store system settings, configuration, and operational data that currently lives in JSON files or PHP arrays.
Scope
Database Options
Database Options
MySQL/MariaDB
Additional considerationa