I would agree that this is a topic that currently is not all that well discussed.
I am personally preparing a fairly lengthy blog article about my methods and practices that I think many people might find helpful, however, I am not exactly sure when I will get that completed.
First of all I will say that it is not all that realistic to actually do regular db pushes from one environment to the next with DotNetNuke, at least not from a DNN Core perspective. DNN is dynamically built and has items that are constantly changing and being added. Pages, users, etc. Each of these have their unique identifiers that are then used other places in the site. With this if you made changes in production that were not in your development environment (such as adding a new user, new module or other item) you could quickly get things out of place and have a real nightmare on your hands.
I personally am forced to do a data push from Development to Production, however, it is for one custom reporting module and none of the tables reference DNN tables, or DNN created ID's.
I personally develop my modules locally and then create installation packages to install the new versions to my websites. I am very strict with using version numbering and SQL Data Providers to ensure that I know exactly what i have going on in each environment at any given time.
I guess that is a short detail of my opinion on the matter...Look for a more detailed article on my blog site in the next few days.