I want a workflow where I can make changes locally in dev to the website, deploy the changes to testing where others can look over the changes, and then deploy to production. The changes that I have in mind are theme, layout, and plugins--which I believe are saved in the Moodle database.
I'm under the assumption that I would have to backup and restore the live database with the database from testing which has the new changes. Is this the right way to do this?
I tried this and lost the data from the live site that was generated while I was doing the development.
Putting the site in maintenance mode for the time that it takes me to develop, test, and review is not practical.
Regarding the deployment of Moodle code and moodledata, I'm not concerned. I'm using Docker for my environment and it should take care of those parts. My question is only about the actual database. How do I deploy changes to production without losing live data generated in the interim?