RECENT POSTS

P5-dbix-class

May 26, 2018

Extensible and flexible object <-> relational mapper

This is an SQL to OO mapper with an object API inspired by ClassDBI with a compatibility layer as a springboard for porting and a resultset API that allows abstract encapsulation of database operations. It aims to make representing queries in your code as perl-ish as possible while still providing access to as many of the capabilities of the database as possible, including retrieving related records from multiple tables in a single query, JOIN, LEFT JOIN, COUNT, DISTINCT, GROUP BY, ORDER BY and HAVING support.

DBIxClass can handle multi-column primary and foreign keys, complex queries and database-level paging, and does its best to only query the database in order to return something you’ve directly asked for. If a resultset is used as an iterator it only fetches rows off the statement handle as requested in order to minimise memory usage. It has auto-increment support for SQLite, MySQL, PostgreSQL, Oracle, SQL Server and DB2 and is known to be used in production on at least the first four, and is fork- and thread-safe out of the box although your DBD may not be.

This project is still under rapid development, so large new features may be marked EXPERIMENTAL - such APIs are still usable but may have edge bugs. Failing test cases are always welcome and point releases are put out rapidly as bugs are found and fixed.

WWW http//search.cpan.org/dist/DBIx-Class/