I find DMZ to be a tremendously helpful tool, but I have one concern/feature suggestion.
In my current project, I need to run alot of INSERTS on my database, i.e. I parse text files, process them, filter them and insert data records into the DB.
When I use DMZ to create DataMapper objects and then run save() for every object the performance is quiet sluggish, as expected, since it creates one query for each record, which creates a lot of overhead on the database.
On the other hand, if I manually build an SQL query with multiple data records in one query, I can process my datasets up to 10 - 15x faster.
So, my problem is that DMZ seems to lack a way to process batch inserts in an efficient way. I haven't dug into the DMZ code alot yet, so I can't quiet estimate how complicate it would be or if it is possible at all to add such a save_all() function that saves a collection of DataMapper objects in one query. I realize that there are some pitfalls, for example all the objects would need to set either all of the table fields or at least the exact subset of fields, but right now DMZ the lack of batch inserts is almost a deal breaker for my type of application.
I'd love to hear your opinion on this topic and thanks again for developing such a great tool to begin with.