I concur. Since this is a tool it should be flexible.
Just create a big list of tables with checkboxes checked that match what you would import.
We can then simply uncheck the once we don't want messed with. I.e. manytimes development work has been done on the target site and we don't want to overwrite blocks, settings, addons, etc.
Or simpler yet, just have a tool that updates/replaces things by 'object':
- users (profiles and all related)
- products (features, images, prices, etc.)
- orders
- Some addon data like discussions/reviews, subscribers, access_restrictions, etc. But none of these should affect the addon settings. These should all be selectable.
Think of the model this way. I have a site (www). I clone it to another site on the same server (dev).
I then go through the upgrade process on dev to get it up to date. But end up doing some development at the same time (to possibly correct some "bad practices" of the past).
When I'm done and customer is happy wtth the site (could be days or even months), I want to be able to "sync" the dev site with production so it can be verified. I then close the www store, swizzle the DNS and open the (prior) dev store as the production site.
No loss of product data, users, orders, customers, etc. Just want to update the catalog data (nothing related to the UI).
This is the real world environment that many of us live in. I.e. don't go above the business layer.