Skip to content

v0.1.0-alpha.21

@jonesrussell jonesrussell tagged this 18 Mar 23:48
* feat(#454): implement DBALDatabase class with DBAL-backed query builders

Adds DBALDatabase implementing DatabaseInterface using Doctrine DBAL,
with matching query builders (DBALSelect, DBALInsert, DBALUpdate,
DBALDelete), schema manager (DBALSchema), and transaction support
(DBALTransaction). Includes 78 unit tests mirroring existing PdoDatabase
test patterns.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* feat(#455,#456): migrate kernel and foundation to DBALDatabase

Replace PdoDatabase with DBALDatabase across the framework:

- AbstractKernel::bootDatabase() now creates DBALDatabase::createSqlite()
- AbstractKernel::$database property typed as DatabaseInterface
- AbstractKernel::bootMigrations() reuses the DBAL connection instead of
  creating a duplicate DriverManager::getConnection() call
- ServiceProvider::commands() signature accepts DatabaseInterface
- HealthChecker accepts DatabaseInterface, adds CLOB->TEXT type compat
- HttpKernel/ConsoleKernel use PDO escape hatch via
  getConnection()->getNativeConnection() for cache/embedding consumers
- ControllerDispatcher, BroadcastStorage, DiscoveryApiHandler,
  SsrPageHandler, RelationshipSchemaManager, RelationshipTraversalService
  all migrated from PdoDatabase to DatabaseInterface
- All test files updated from PdoDatabase::createSqlite() to
  DBALDatabase::createSqlite()

PdoDatabase and legacy classes are intentionally preserved for #457.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore(#457,#458): remove legacy PdoDatabase and query builders

Remove all PDO-based database classes now superseded by DBALDatabase:
- PdoDatabase, PdoTransaction, PdoSchema
- PdoSelect, PdoInsert, PdoUpdate, PdoDelete
- All corresponding unit tests
- Stale PHPStan baseline entries for deleted files

DatabaseInterface and all DBAL* classes are retained.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Assets 2
Loading