[Dbix-class] DBIx how to update_or_create a table with primary index is autoincrement ? getting erroneous data

Rajeev Prasad rp.neuli at yahoo.com
Thu Sep 27 16:55:52 GMT 2012


friends,

I have a Table to update (empty right now), and the regularly 'update' exis=
ting info with changes AND add any new record which come up.

source data is coming from file. one record per line.

=A0=A0=A0 =A0=A0=A0 my @my_arr;=A0 #has 500 uniq entries

=A0=A0=A0 =A0=A0=A0 $schema->resultset('Mytable')->update_or_create(
=A0=A0=A0 =A0=A0=A0 {
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 field1 =3D> $my_arr[0],
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 field2 =3D> $my_arr[1],
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 field3 =3D> $my_arr[2],
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 ...
=A0=A0=A0 =A0=A0=A0 },
=A0=A0=A0 =A0=A0=A0 {key =3D>'primary'}=A0=A0=A0 #field_id, auto increment =
value this field is NOT supplied in variables above.
=A0=A0=A0 =A0=A0=A0 );


What is happening is: DBIX is first adding the 'first' record, then updatin=
g it with consecutive records!!! it is not creating a fresh record for any =
record in the file. so after it finishes running, I am left with one record=
 in Table which is updated 500 times, and has the last record in file as th=
e table record.

how to fix this?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20120927/f9c=
e0314/attachment.htm


More information about the DBIx-Class mailing list