On the other hand, this comes at the price of longer code for simple tasks, e.g., for inserting into a table 'Person', one would use# using DBIx::Class: $schema->resultset('Person')->new({FirstName=>'Joe'})->insert(); # using Class::DBI: DB::Person->insert({FirstName=>'Joe'});
How about:
$schema->resultset('Person')->create({ FirstName => 'Joe' });
If you don't want to get the resultset from the schema first, you'll need to use DBIx::Class (DBIC) without a schema, which is usually called CDBI plain, but you'll then loose the advantages of the composable schemas, which, for example, allow you to connect to multiple databases from the same set of classes. I think using schemas is usually worth the overhead.
I don't really know how to solve your problem with the posted snippet, but I suspect it's caused by the load_classes call. You can probably work that around with using register_class or register_source, but I haven't really looked into that as I don't like to ram up a single .pm file with several modules.
Cheers, Flo
In reply to Re^3: Class::DBI vs. DBIx::Class
by rafl
in thread Class::DBI vs. DBIx::Class
by hrr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |