I have a setup that consists of a Drupal 8 instance on my
localhost, a staging instance on a
develop server and a productive version on a
production server. Initially, I was co-designing the theme, the configuration and so on on my machine. But now, the site is live.
For configuration changes, I can update my local instance and export the configuration. Pushing this to my
develop branch in my git repository automatically triggers a deployment on the
develop server. Creating a new release triggers a deployment on the
Now this situation: Content editors create new nodes on the instance on the
production server. On some piece of the new content, they discover an issue and want a fix for that and maybe even want to review this fix on the
I already have such a neat deployment for the configuration, so I really want to avoid copying databases around. For images, there's a module, that can replace local static files with links to the productive version. What would be the equivalent solution for the content in the database?
What might be a useful flow for the case that there's no better automation:
- I do a composer update on my local machine
- The content from develop gets pulled to my local instance
- I commit my changes and pull them to the
developinstance pulls content from the
developinstance reads my new configuration
It would be even better if there would be some API magic that enables my instances on
develop to read the content directly (and cache it).
So, is there some API magic around? Or do I have to write scripts and everything to pull databases from server to server?
Additional requirement: I did most of the work so far and have all the administrative rights, but in the future, this should work for additional developers who should not need to login onto a server.