NAME Class::DBI::Lite - Lightweight ORM for Perl SYNOPSIS Create some database tables: create table artists ( artist_id integer primary key autoincrement, artist_name varchar(100) not null ); create table cds ( cd_id integer primary key autoincrement, artist_id integer not null, cd_name varchar(100) not null ); package My::Model; use base 'Class::DBI::Lite::mysql'; # Or ::SQLite, etc __PACKAGE__->connection( 'DBI:mysql:dbname:localhost', 'user', 'pass' ); 1;# return true: package My::Artist; use base 'My::Model'; __PACKAGE__->set_up_table('artists'); __PACKAGE__->has_many( cds => 'My::CD' => 'artist_id' ); 1;# return true: package My::CD; use base 'My::Model'; __PACKAGE__->set_up_table('cds'); __PACKAGE__->has_a( artist => 'My::Artist' => 'artist_id' ); 1;# return true: Then, in your script someplace: use My::Artist; my $artist = My::Artist->retrieve( 123 ); foreach my $cd ( $artist->cds ) { ... }# end foreach() my $cd = $artist->add_to_cds( cd_name => "Attak" ); print $cd->cd_name; $cd->cd_name("New Name"); $cd->update(); # Delete the artist and all of its CDs: $artist->delete; DESCRIPTION Sometimes Class::DBI is too crufty, and DBIx::Class is too much. Enter Class::DBI::Lite. TODO * Complete tests * Examples * Documentation AUTHOR Copyright John Drago . All rights reserved. LICENSE This software is Free software and may be used and redistributed under the same terms as perl itself.