On Mon, 2015-04-27 at 22:26 +1000, Matthew Mallard wrote:
I’m getting a bit confused with plugins. I’m sure that I was able to use the DBIC Plugin at one point from one of my plugins, but I can’t seem to get it to work in 0.159002 or 0.160000. DBIC seems to be okay outside of plugins.
Firstly, there is change going on in the world of plugins, which I suspect will fix this, but I haven't read up on the full details myself: http://lists.preshweb.co.uk/pipermail/dancer-users/2015-April/004512.html
3 questions: * why does it complain about "Plugin calls 'dsl' instead of '$dsl->dsl’" when I appear to be using '$dsl->dsl’?
Are you using an old version of the DBIC plugin? I think that is fixed in the most recent version.
* how do I get DBIC to print the SQL it’s executing so I can double check it’s what I’m expecting? * am I doing something else wrong in the way I’m trying to use DBIC?
This is a bit more tricky. With the current plugin architecture, "schema" is not available in the DSL when you call it from another plugin as you are doing. You can workaround this by capturing it during plugin initialisation, as long as you load the DBIC plugin before yours. See Plugin::Auth::Extensible::Provider::DBIC for an example: https://github.com/ctrlo/Dancer2-Plugin-Auth-Extensible-Provider-DBIC/blob/m... Andy