Frankly, I'd be less of a jerk if I hadn't experienced 'Major' bugs in grails being left unacknowledged for, literally, years, then finally addressed only with "feel free to contribute code." And if other bugs weren't summarily closed without any actual assistance with the problem after several months of being ignored and if the same issue wasn't also ignored on the mailing list. It gets more than a little frustrating when I mostly see people having to answer their own questions over the course of many days on the mailing list, or grails neophytes, such as myself, trying to help other grails neophytes on the list since responses from anyone with actual grails experience are few and far between when issues arise which require more than a 1-liner response. This bug has been open since early March (and isn't even the only one related to this issue, never mind the variety of mailing list questions about it that have also arisen), yet the very first time it was addressed, it was to simply close as not a bug with no useful feedback.
Speaking of being rude and antagonistic - why not respond to the jira with a question, asking if those affected have tried the changelogFileName 'fix' so that you might have an opportunity to suggest the --verbose solution PRIOR to closing the bug, so that those of us who did actually read the docs and had already tried the thing that is highlighted in yellow on the first page of the docs don't feel like our issue has been dismissed summarily and without anything resembling an actual solution? Sure, a back and forth dialog about previously attempted solutions might be more appropriate on the mailing list, but since the issue was ignored there, we wound up here on jira.
And if it really does come down to the fact that the thing fails COMPLETELY SILENTLY because of an error, how is that even remotely useful? Why would the default be to make no mention whatsoever of an error so catastrophic as to prevent any and all functionality from completing? I can see not dumping hundreds of lines of stacktrace by default, but simply exiting with no indication that a catastrophic error even occurred is, frankly, a bug in and of itself. It's not as though failing to create/update the database is a recoverable error that can be safely ignored. No one who hasn't already encountered grails apparent propensity for completely swallowing catastrophic errors would think that they'd have to specify a --verbose option to even be informed of the existence of a catastrophic error, let alone the details of what occurred. At the very least, the plugin should include documentation that says something like "warning: if the dbm plugin encounters an error, you will NOT be informed of it unless you run grails with the --verbose option"
Not only did I lose a solid 12 hours of development time to grails' apparent unwillingness to tell me of a catastrophic error, but I also lost a ton of productivity for an entire team when I gave up on the dbm plugin until such time as I had a chance to dig into the source code for myself, since there was no assistance available from the community whatsoever. I asked on the list and I contributed to a jira, yet it took 2 months to get the very first acknowledgement of the issue, which was simply to summarily close it. Of course that ticked me off, and it showed in my response.
Just went through a lot of effort to set up changelogs in xml, but they still don't work - using grails 2.0.3 and database-migration plugin version 1.0. This strikes me as being of higher priority than Major, since changing to the groovy DSL makes the ability to update a database dependent on grails and we have many apps that don't run in grails, so it is important to preserve liquibase compatibility by sticking to XML. Considering that the docs certainly imply that this should work, I don't see how this is anything but a blocker bug since it makes the plugin entirely unusable. For what it is worth, running 'grails package' and then un-jarring the generated war file, it is clear that it simply isn't packaging the xml files up with the app - they are nowhere to be found in the resulting war file - likely as not, this is the reason for the failure to function - there is no changelog in the app once it is running.