ascetic-soft/rowcast-bundle
Symfony bundle integrating ascetic-soft/rowcast connection and DataMapper, with optional rowcast-schema migrations/services and console commands. Supports SQL profiler integration, configurable DSN/auth/options, transactions, schema paths, and query profiling thresholds.
Architectural Shift to Lightweight ORM:
Developer Productivity:
#[Rowcast\Table]) or YAML files to define schemas, enabling Git-friendly database changes and reducing manual SQL migration errors.rowcast:diff, rowcast:make, and rowcast:migrate into CI/CD pipelines for automated, auditable database migrations.DataMapper for simpler, more maintainable code.Performance Optimization:
Connection and DataMapper for direct PDO interactions with minimal abstraction, improving query performance.Build vs. Buy Decision:
Use Cases:
DataMapper, then migrate to attributes).Adopt RowcastBundle If:
Look Elsewhere If:
"RowcastBundle lets us replace Doctrine with a modern, lightweight alternative—reducing technical debt while keeping our Symfony stack. Here’s the business case:
"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.rowcast:query for ad-hoc SQL, rowcast:migrate for automated deployments—all in one bundle.
Trade-offs: Early-stage adoption (low stars, but active development). Recommend starting with a proof-of-concept in a non-critical service.""RowcastBundle simplifies database interactions in Symfony:
DataMapper for type-safe entity hydration.#[Rowcast\Column(type: "string")]).rowcast:make generates migrations from your schema—no manual SQL.
Example:#[Rowcast\Table(name: "users")]
class User {
#[Rowcast\Column(type: "string")]
public string $name;
}
Perfect for: New projects, legacy Doctrine cleanup, or performance-critical APIs."
How can I help you explore Laravel packages today?