Conversation
📊 Coverage
Full per-file breakdown in the job summary. |
Greptile SummaryThis PR replaces the callback-style schema API ( Confidence Score: 5/5Safe to merge; both findings are P2 edge cases that do not affect normal operation. No P0 or P1 findings. The SQLite regex issue only triggers for column names containing backtick characters (extremely unusual), and the MongoDB ifExists omission preserves pre-existing behaviour. All previously flagged gaps (truncate/rename forwarders) are addressed. src/Query/Schema/SQLite.php (regex edge case) and src/Query/Schema/MongoDB.php (ifExists semantics). Important Files Changed
Reviews (4): Last reviewed commit: "(refactor): rename $blueprint to $table ..." | Re-trigger Greptile |
Summary
\$schema->create(\$name, fn (Table) => ...)) to a fluent table builder (\$schema->table(\$name)->...->create()); column factories return aColumnwhose forwarders re-expose the table-level builder so chaining never breaks. Composite primary, table-level CHECK, and named enum columns are arg-dispatched offColumn::primary/check/enum. ClickHouse gains explicitTable::orderBy(). No backwards compat. Removed string variants ofaddColumn/modifyColumn/addIndextypes — must useColumnType/IndexTypeenums.INTEGER AUTOINCREMENT NOT NULL ... PRIMARY KEY (id)is invalid; SQLite needsINTEGER PRIMARY KEY AUTOINCREMENTinline. Old unit tests just compared strings and never hit the engine.tests/Query/API/folder for topic-grouped Query API tests (drop the redundant `Query` suffix); move `ConditionTest` to `Builder/` and `ExceptionTest` to `Exception/` to mirror src layout; rename misleading `AST/BuilderIntegrationTest` → `BuilderAstTest` and `Hook/Filter/FilterTest` → `TenantTest`.Test plan