Database Abstraction & Modernization:
Schema-as-Code & Migrations:
rowcast:diff, rowcast:make) into developer workflows, similar to tools like Flyway or Liquibase but with tighter PHP integration.Performance & Observability:
slow_query_threshold_ms: 50) to proactively optimize database layers.dev environments.Build vs. Buy:
Connection and DataMapper interfaces.Use Cases:
Look Elsewhere If:
Consider RowcastBundle If:
"RowcastBundle lets us replace Doctrine with a lighter, modern alternative—reducing technical debt while keeping our Symfony stack. Here’s why it’s worth exploring:
"RowcastBundle gives us:
[Rowcast\Table(name: "users")]) instead of XML/YAML configs.rowcast:make) or diff schemas (rowcast:diff --dry-run)—no more manual SQL.EntityManager for DataMapper with minimal refactoring.
Trade-offs: Less mature than Doctrine (e.g., no official Doctrine extensions), but the core team is actively developing it (last release: April 2026). We’d start with a spike to compare query performance and migration workflows against Doctrine."*"If you’re tired of Doctrine’s complexity, RowcastBundle lets you:
#[Rowcast\Table(name: "users")]
class User { ... }
rowcast:make to auto-generate them from your schema.DataMapper like any other service.
Downsides: Smaller community (0 stars, but active development), and some Doctrine features (like event listeners) aren’t ported yet. But if you’re on Symfony 7.x and PHP 8.4+, it’s worth trying for simpler CRUD."*How can I help you explore Laravel packages today?