NAME
DBIx::Class::Manual::FAQ - Frequently asked questions
GENERAL
What is the point of this module? Is it a fork of Class::DBI?
This is an alternative to Class::DBI, intended to provide greater functionality and simplicity.
It is inspired by the Class::DBI framework, and provides a compat layer to ease porting, but with a resultset-oriented, MI-based design that makes extension easier and allows us to support more complex relational operations like self-joins, DISTINCT
, GROUP BY
s and more.
What databases does it support?
At least MSSQL, MySQL, Oracle, PostgreSQL, SQLite and DB2.
What's the current status of this module?
This project is still at an early stage, so the maintainers don't make any absolute promise that full backwards-compatibility will be supported; however, if we can without compromising the improvements we're trying to make, we will, and any non-compatible changes will merit a full justification on the mailing list and a CPAN developer release for people to test against.
Where can I go for support?
Mailing list: http://lists.rawmode.org/mailman/listinfo/dbix-class/
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
Inflating your date/time columns
You can use DBIx::Class::InflateColumn to automatically create DateTime objects from your date/time columns. For more information, see DBIx::Class::InflateColumn.
POSTGRESQL-SPECIFIC PROBLEMS
Can't get last insert ID; inserts with serial primary keys fail
Older DBI and DBD::Pg versions do not handle last_insert_id
correctly, causing code that uses auto-incrementing primary key columns to fail with a message such as:
Can't get last insert id at /.../DBIx/Class/Row.pm line 95
In particular the RHEL 4 and FC3 Linux distributions both ship with combinations of DBI and DBD::Pg modules that do not work correctly.
DBI version 1.50 and DBD::Pg 1.43 are known to work.