The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Catalyst::Plugin::AutoCRUD::Manual::Troubleshooting - Troubleshooting Advice

Debug Trace

It's possible to have the plugin dump several key data structures used when retrieving data or updating the data source. Set the environment variable AUTOCRUD_DEBUG to a true value, when running your server.

For example with the test server:

 AUTOCRUD_DEBUG=1 ./server.pl

Currently the DBIx::Class backend will dump:

  • Search parameters used

  • All SQL statements executed (including transactions)

  • Data structure of results prepared for return in an AJAX bundle

These can be very useful in working out why data is missing from the display (perhaps DBIx::Class is misconfigured and issueing the wrong SQL statements).

Metadata Dump

Within the AutoCRUD plugin exists a data structure representing all backend storage metadata required to render the frontend display. This includes database, table and column names, data types, default values, relations, and so on.

Furthermore, this metadata comes in two parts: that introspected by the plugin itself, and also the user's own configuration directives (whether items or features are hidden, enabled, and so on).

To dump this data for inspection, you must set an environment variable and then GET a specific URL path. The path requires the database and table name to be included, so for the example below we have mydb and mytable as the names. Run the server with the environment variable:

 AUTOCRUD_DEBUG=1 ./server.pl

And then retrieve this URL path:

 .../autocrud/site/default/schema/mydb/source/mytable/dumpmeta_html

Note that if you use the basepath configuration then autocrud will of course be something else (or not present). The response will be a web page with all the metadata known about your data sources.

This is extremely useful when data is not being retrieved or displayed correctly, or your configuration directives are supposedly being ignored. Entries in the data structure should be self-explanatory.