
paikkos at googlemail
Aug 13, 2008, 3:08 AM
Views: 1524
Permalink
|
|
Troubleshooting FastCGI error
|
|
Hi, I have an odd problem with my tiny app. Under server script (MyApp/script/myapp_server -d) it runs without error. However under fascgi I am encountering a problem with one of my controllers that uses a FormFU. There an abridged version of the controller is pasted below. sub edit : Local :FormConfig('record_data/edit.yml') { my ($self, $c, $id) = @_; my $record_data = $c->model('MyAppDB::record_data')->find({'sub_id' => $id}); unless($record_data) { $c->flash->{error_msg} = "Invalid submission $id -- Cannot edit"; $c->response->redirect($c->uri_for('/submissions/list')); $c->detach; } my $form = $c->stash->{form}; # Update the HD and display the checkbox as checked. if ($record_data->sub_id->hasHD == 1) { my $watermarked = $form->get_field({name => 'hasHD'}); $watermarked->checked($record_data->sub_id->hasHD); } ... if ($form->submitted_and_valid) { # create an entry # Update the validation flag on the submission $record_data->sub_id->update({validation_pass => 1}); # Line 89. This line cause CascadeActions::update() error # Update the record_data $form->model->update($record_data); # This line causes Row::update_or_insert() error $c->flash->{status_msg} = 'metadata updated'; $c->response->redirect($c->uri_for('/submissions/list')); $c->detach; } else { $form->model->default_values($record_data); } $c->stash->{template} = 'submissions/edit.tt2'; } The controller loads the data from $c->model('MyAppDB::record_data') fine and displays it in the form. It's when you attempt the update/submit you get the error. So the issue seems to be with $form->model->update($record_data); My conf file has: <Model::FormFu> stash_key form </Model::FormFu> The error in the http error log is: :CascadeActions::update(): DBI Exception: DBD::SQLite::st execute failed: unable to open database file(14) at dbdimp.c line 403 [for Statement "UPDATE submissions SET validation_pass = ? WHERE ( id = ? )"] at ..lib/MyApp/Controller/RecordData.pm line 89, referer: ... DBIx::Class::Row::update_or_insert(): DBI Exception: DBD::SQLite::st execute failed: unable to open database file(14) at dbdimp.c line 403 [for Statement "UPDATE clipData SET audio = ? WHERE ( id = ? )"] at /usr/lib/perl5/site_perl/5.8.8/HTML/FormFu/Model/DBIC.pm line 324, Server configuration. DocumentRoot /var/www/MyApp/root Alias /static /var/www/MyApp/root/static FastCgiServer /var/www/MyApp/script/myapp_fastcgi.pl -processes 3 Alias /motion /var/www/MyApp/script/myapp_fastcgi.pl/ Does anyone have any ideas what the problem might be? I can't see why it might work in one environment and not the other. Tia, Dp. _______________________________________________ List: Catalyst[at]lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst[at]lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/
|