It is unclear from the documentation, so I am asking here. When conducting a PUSH or PULL in a staging setup, are ONLY database changes transferred or is it a total overwrite? The reason I ask is because whenever I hit the PUSH/PULL button, I see a message stating that the DB will be overwritten.
Yes, the database is overwritten completely when you PULL from staging.
What about PULLING from the live site to the staging site? Is that a total overwrite as well?
Yes, while PULLING the database overwrites as well.
That greatly diminishes the usefulness of staging then, especially for ecommerce sites. If updates are continuous on the live site and get pulled across the the staging site, then all of the work being done on the staging site is wiped out. Same the other way - if the staging is pushed to the live site then orders would be overwritten and some would be deleted from the live site.
It is also not in line with the documentation, i.e., “The Push option will copy the changes on the Live application with the data on the Staging application, which means that any updated files in Staging Application will be updated on Live Application after a push"
"The Pull option will create a copy of changes from the Live application to the Staging application"
"Use Staging application if you need to create workflows focused on application development and testing. A Staging application offers an isolated environment that allows you to push and pull changes between Live and Staging applications without impacting the Live application.”