Class::DBI::Pg.3pm

Langue: en

Version: 2006-07-09 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Class::DBI::Pg - Class::DBI extension for Postgres

SYNOPSIS

   use strict;
   use base qw(Class::DBI::Pg);
 
   __PACKAGE__->set_db(Main => 'dbi:Pg:dbname=dbname', 'user', 'password');
   __PACKAGE__->set_up_table('film');
 
 

DESCRIPTION

Class::DBI::Pg automate the setup of Class::DBI columns and primary key for Postgres.

select Postgres system catalog and find out all columns, primary key and SERIAL type column.

create table.

  CREATE TABLE cd (
      id SERIAL NOT NULL PRIMARY KEY,
      title TEXT,
      artist TEXT,
      release_date DATE
  );
 
 

setup your class.

  package CD;
  use strict;
  use base qw(Class::DBI::Pg);
 
  __PACKAGE__->set_db(Main => 'dbi:Pg:dbname=db', 'user', 'password');
  __PACKAGE__->set_up_table('cd');
 
 

This is almost the same as the following way.

  package CD;
 
  use strict;
  use base qw(Class::DBI);
 
  __PACKAGE__->set_db(Main => 'dbi:Pg:dbname=db', 'user', 'password');
  __PACKAGE__->table('cd');
  __PACKAGE__->columns(Primary => 'id');
  __PACKAGE__->columns(All => qw(id title artist release_date));
  __PACKAGE__->sequence('cd_id_seq');
 
 

METHODS

set_up_table TABLENAME HASHREF

Declares the Class::DBI class specified by TABLENAME. HASHREF can specify options to when setting up the table.
ColumnGroup
You can specify the column group that you want your columns to be in.
    $class->set_up_table($table,  { ColumnGroup => 'Essential' });
 
 

The default is 'All'

Primary
Overrides primary key setting. This can be useful when working with views instead of tables.

pg_version

Returns the postgres version that you are currently using.

AUTHOR

Daisuke Maki "dmaki@cpan.org"

AUTHOR EMERITUS

Sebastian Riedel, "sri@oook.de" IKEBE Tomohiro, "ikebe@edge.co.jp"

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Class::DBI Class::DBI::mysql DBD::Pg