[Dbix-class] Bug with find_or_new and insert_or_update with
postgresql: any success?
Zbigniew Lukasiak
zzbbyy at gmail.com
Mon Feb 25 21:21:06 GMT 2008
On Mon, Feb 25, 2008 at 9:53 PM, Alex Povolotsky <tarkhil at over.ru> wrote:
> Hello!
>
> I've found in archives nearly my case, that passing NULL to Pg is not
> 'not passing column at all', so adding a new row with a simple code like
> this
>
> my $loc = $c->model($self->model_name)->find_or_new({lid => $id});
> if ($form->submitted && $form->validate) {
> # Fill in
> data
>
> $loc->name($form->field('name'));
> $loc->descr($form->field('descr'));
> $loc->update_or_insert();
> $c->req->redirect($c->uri_for('list'));
> }
>
> is impossible.
>
> Maybe someone has found a good way to solve the problem, or at least a
> working workaround?
Just guessing - are you using HTML::FormFu? HTML::FormFu::Model::DBIC
integrates FormFu with DBIC and works around this problem (by not
using find_or_new nor update_or_create). Personally I would be very
happy to see the debate on using the *_or_* methods for tables with Pg
serial primary keys reopened - but there are workarounds for it.
--
Zbigniew Lukasiak
http://brudnopis.blogspot.com/
More information about the DBIx-Class
mailing list