DBIx::Class Anti-Verbosity
Every time I set up a DBIx::Class schema for a project, I find myself re-implementing the same pattern. While DBIC is one of the great things about modern Perl, it requires a lot of typing. Whenever I want to grab some stuff from a table, it's
my @records = $schema->resultset( 'CamelCasedClassName' )->search( ... );
Today, I used DBIx::Class::Schema::Loader to auto-generate a schema for a fun little 182-table database. I ended up with modules with names like MyApp::DBIC::Result::XStreamQueryParentArticle
and MyApp::DBIC::Result::ArticleElementContent
and so forth. Very useful, but what painful nomenclature.
So I ended up doing the same little hack that I always do, but improved upon it a bit this time, and have finally arrived at a solution that I really like.