use lib 'lib'; use Party::M::CDBI::Declaration; my $a = Party::M::CDBI::Declaration->create({freetext => 'aaasdds'}); #### Can't insert new Party::M::CDBI::Declaration: DBD::Pg::st execute failed: ERROR: null value in column "id" violates not-null constraint [for Statement "INSERT INTO declaration (freetext, id) VALUES (?, ?) " with ParamValues: ] at /usr/local/share/perl/5.8.4/DBIx/ContextualFetch.pm line 51. at a.pl line 6 #### INSERT INTO declaration (freetext) VALUES ('aaasdds'); #### package Party::M::CDBI; use strict; use base 'Class::DBI'; __PACKAGE__->connection('dbi:Pg:dbname=party', 'zby', '***', { AutoCommit => 1 , RaiseError=>1}); package Party::M::CDBI::Declaration; use base Party::M::CDBI; use strict; __PACKAGE__->table('declaration'); __PACKAGE__->columns(All => qw/id usr place freetext cdate/); __PACKAGE__->has_a(usr => 'Party::M::CDBI::Usr'); #### create table declaration( id serial primary key, usr integer CONSTRAINT declaration_usr references usr(id) on delete cascade, place varchar(50), freetext text, cdate timestamp default CURRENT_TIMESTAMP );