It is really a pain when making a dev environment and having to recreate it on a production server.
The closest I have seen to something like this is detailed in a blog post: "Deploying ExpressionEngine based site" by Krasimir Tsonev.
He outlines steps to log all queries in an environment, writing them to files. The queries can then be run, as migrations, by executing the saved queries on your other environment's database. Scroll down to the "Database migration" heading where it says "My way" (right here).
I haven't tried it myself, but it looks like a promising approach and there are some good comments.