[Dbix-class] DBIx::Class::Resultset - DBI Exception near PATH

Dermot paikkos at googlemail.com
Tue Feb 17 16:41:49 GMT 2009


2009/2/17 Daniel Westermann-Clark <dwc at pobox.com>:
> On 2009-02-17 17:15:05 +0100, Zbigniew Lukasiak wrote:
>> > So what I should I pass to 'id', nothing?
>>
>> Yeah - this is the problem.  The official answer is that you should
>> not use find_or_create on tables with auto-increment pks - you should
>> use 'create' or 'find' as appriopriate instead.
>
> No, the official answer is not to pass a value for a column that you
> want the database to fill.  undef means null in other places to DBIC;
> why should find_or_create be different?
>
> find_or_create and friends work fine on tables with auto-increment
> keys.  I use it all the time.

There looks to be allowances for auto-incrementing keys

>From the deprecated PK::Auto module
"Just load PK::Auto instead; auto-inc is now handled by Storage."

It would be a bit pain to have to do a search first, it kinda removes
the purpose of having a find_or_create method.

I'll go with the plan of not passing the id..

>Ah - yeah - I should have add if you don't have any other unique key.

I do have a UNIQUE Constraint on one of the fields. I hope that not
going to bit me in the proverbial as well.
Dp.



More information about the DBIx-Class mailing list