[Catalyst] Trouble inserting data after migrate database from
SQLite to My SQL
Jordi Amorós
jamoros at etsetb.upc.edu
Tue Nov 10 13:53:53 GMT 2009
Hi all,
I'm developing a little web application (a remote lab that works with
Catalyst+LabView). Until now I was using SQLite, but due to new
requirements I've had to migrate the database.
I've created a new model:
perl script/ilabrs_create.pl model DB DBIC::Schema ilabrs::Schema
create=static components=TimeStamp,EncodedColumn dbi:mysql:ilabrs
and then, after restarting the server all seemed to work. Actually,
list, edit and erase from the database is working fine. But when I want
to add data, it doesn't work.
The problem appears when an id it's not provided. If I'm not wrong,
"my $exp = $c->model('DB::Activitats')-> find_or_new({id=> $id});"
should solve that. But: "$c->log->debug("Experiment ID:".$exp->id);",
prints nothing.
I'm absolutely clueless. I've tried to split de edit function in two:
-one to actually edit (my $exp = $c->model('DB::Activitats')->
find({id=> $id});) which still works properly.
-and a second one to add (my $exp = $c->model('DB::Activitats')->
new({});) which doesn't because $exp->id is empty and
$exp->update_or_insert;
cause an exception:
DBI Exception: DBD::mysql::st execute failed: Column 'id' cannot be
null...
Any suggestion, idea, clue... will be welcome.
Thanks,
Jordi
More information about the Catalyst
mailing list