Skip to content

feat(database): Add the database component#30

Open
ollieread wants to merge 29 commits intomainfrom
feat/database
Open

feat(database): Add the database component#30
ollieread wants to merge 29 commits intomainfrom
feat/database

Conversation

@ollieread
Copy link
Copy Markdown
Member

@ollieread ollieread commented Mar 29, 2026

Addresses #26, #27 and #28

Add a BaseConfigObject abstract class with a default implementation for __set_state(), making use of PHPs named parameter and splat operator combo
@ollieread ollieread added this to the v1.0 Ready milestone Mar 29, 2026
@ollieread ollieread self-assigned this Mar 29, 2026
@ollieread ollieread added the layer: engine Base framework and engine work label Mar 29, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

Remove the implicit '=' operator shorthand from where() and orWhere()
across JoinClause, WhereClause, and HasWhereClause. The operator
parameter is now required when the first argument is not a closure.
Add missing where or-variants (orWhereNotNull, orWhereIn, orWhereNotIn,
orWhereRaw, whereFullText, orWhereFullText), group by, having, aggregate
expressions (COUNT/SUM/MIN/MAX/AVG), full-text search (MATCH AGAINST),
bulk insert, INSERT IGNORE, REPLACE INTO, upsert (ON DUPLICATE KEY
UPDATE), and order by/limit on Update and Delete. Expression support
added to Update::set() and Insert::upsert().
Add unit tests for Select, Delete, Update, Insert, Connection,
Result, Row, WriteResult, Raw, JoinClause, ValueGetter, and
QueryException. Add integration tests for joins, distinct, stream,
and transactions. Remove unnecessary empty guard in JoinClause.
Add codeCoverageIgnore for untriggerable catch blocks and infection
ignores for equivalent mutants.
Removed unnecessary phpstan ignores, fixed an escaped mutant ignore line number, updated docblocks to use static over $this, and moved array_merges() out of foreach loops
ci(github): Remove push trigger for code coverage workflow

ci(github): Fix mariadb 11.4 healthcheck
Schema contract, Column (21 type factories, modifiers, named reference),
Index (primary, unique, index, fulltext, foreign key), Blueprint (alter
operations), and Table (create, alter, drop, shortcuts).
Assert transaction is no longer active after commit, removing the
MethodCallRemoval ignore from infection config.
…tribute

Covers default and named connection resolution, wrong resolvable type,
wrong parameter type, null type, attribute contract and target.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

layer: engine Base framework and engine work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Engine - Database - Query Builder Engine - Database - Schema Engine - Database - Connections Engine - Database

1 participant