DBIx::Class is an extensible and flexible object-relational mapper written in Perl. Created by Matt S Trout in 2005, DBIC is one of the most sophisticated ORMs in any language โ featuring composable result sets, deep relationship support, and powerful SQL abstraction.
It supports PostgreSQL, MySQL, SQLite, Oracle, SQL Server, DB2, and more, with first-class transaction handling, schema versioning, and integration with Catalyst, Dancer, and Mojolicious.
Extensible and flexible Perl ORM. SQL abstraction with composable result sets and rich relationships.
โจ Features
Chain ->search() calls to build up queries incrementally. Lazy, deferred, immutable.
has_many, belongs_to, many_to_many, prefetched joins, custom relationships via SQL.
DBIx::Class::Schema::Versioned tracks schema changes. Upgrade scripts auto-generated.
PostgreSQL, MySQL, SQLite, Oracle, SQL Server, DB2 โ same code, different storage backend.
Transform between database types and Perl objects. DateTime, JSON, encrypted columns.