I have a table which has records that need to be periodically cleared according to a set of criteria.
I was expecting that I could use the criteria builder to just delet
With Grails 2.0 you can use a detached query like this:
Agency.where { }.deleteAll()
Note that you don't get the listeners and whatnot executed, but it does execute through to the database, AND it is compatible with the mocked domain stuff, as in:
void testWhatever() {
mockDomain(Agency, [])
saveABunchOfAgencies() // saves 10 of 'em
assert Agency.count() == 10
Agency.where { }.deleteAll()
assert Agency.count() == 0 // Joy!
}
That being said the GORM unit test mocks have a bunch of gotchas but are in general pretty neat.