X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FManual%2FExample.pod;h=fe2cf9ef123c226512fa44e066272009316ffc5a;hb=48580715af3072905f2c71dc27e7f70f21a11338;hp=1f332fc12ef3d3360b25017e925d5783c3e31452;hpb=7d04b10717ff489d93e103113ed2d29125cec519;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Manual/Example.pod b/lib/DBIx/Class/Manual/Example.pod index 1f332fc..fe2cf9e 100644 --- a/lib/DBIx/Class/Manual/Example.pod +++ b/lib/DBIx/Class/Manual/Example.pod @@ -27,7 +27,7 @@ And these rules exists: Install DBIx::Class via CPAN should be sufficient. -=head3 Create the database/tables. +=head3 Create the database/tables First make and change the directory: @@ -58,7 +58,7 @@ Save the following into a example.sql in the directory db title TEXT NOT NULL ); -and create the sqlite database file: +and create the SQLite database file: sqlite3 example.db < example.sql @@ -89,8 +89,7 @@ MyDatabase/Main.pm: MyDatabase/Main/Result/Artist.pm: package MyDatabase::Main::Result::Artist; - use base qw/DBIx::Class/; - __PACKAGE__->load_components(qw/Core/); + use base qw/DBIx::Class::Core/; __PACKAGE__->table('artist'); __PACKAGE__->add_columns(qw/ artistid name /); __PACKAGE__->set_primary_key('artistid'); @@ -102,8 +101,8 @@ MyDatabase/Main/Result/Artist.pm: MyDatabase/Main/Result/Cd.pm: package MyDatabase::Main::Result::Cd; - use base qw/DBIx::Class/; - __PACKAGE__->load_components(qw/Core/); + use base qw/DBIx::Class::Core/; + __PACKAGE__->load_components(qw/InflateColumn::DateTime/); __PACKAGE__->table('cd'); __PACKAGE__->add_columns(qw/ cdid artist title/); __PACKAGE__->set_primary_key('cdid'); @@ -116,17 +115,16 @@ MyDatabase/Main/Result/Cd.pm: MyDatabase/Main/Result/Track.pm: package MyDatabase::Main::Result::Track; - use base qw/DBIx::Class/; - __PACKAGE__->load_components(qw/Core/); + use base qw/DBIx::Class::Core/; __PACKAGE__->table('track'); - __PACKAGE__->add_columns(qw/ trackid cd title/); + __PACKAGE__->add_columns(qw/ trackid cd title /); __PACKAGE__->set_primary_key('trackid'); __PACKAGE__->belongs_to('cd' => 'MyDatabase::Main::Result::Cd'); 1; -=head3 Write a script to insert some records. +=head3 Write a script to insert some records insertdb.pl @@ -155,10 +153,10 @@ insertdb.pl my @cds; foreach my $lp (keys %albums) { - my $artist = $schema->resultset('Artist')->search({ + my $artist = $schema->resultset('Artist')->find({ name => $albums{$lp} }); - push @cds, [$lp, $artist->first]; + push @cds, [$lp, $artist->id]; } $schema->populate('Cd', [ @@ -179,10 +177,10 @@ insertdb.pl my @tracks; foreach my $track (keys %tracks) { - my $cdname = $schema->resultset('Cd')->search({ + my $cdname = $schema->resultset('Cd')->find({ title => $tracks{$track}, }); - push @tracks, [$cdname->first, $track]; + push @tracks, [$cdname->id, $track]; } $schema->populate('Track',[ @@ -200,7 +198,7 @@ testdb.pl: use strict; my $schema = MyDatabase::Main->connect('dbi:SQLite:db/example.db'); - # for other DSNs, e.g. MySql, see the perldoc for the relevant dbd + # for other DSNs, e.g. MySQL, see the perldoc for the relevant dbd # driver, e.g perldoc L. get_tracks_by_cd('Bad'); @@ -347,7 +345,7 @@ It should output: =head1 Notes -A reference implentation of the database and scripts in this example +A reference implementation of the database and scripts in this example are available in the main distribution for DBIx::Class under the directory F.