Gatsby workflow/process when using multiple Contentful environments

I am keen to understand the best process when working with multiple Contentful environments on a Gatsby site.

I am working on a large brand’s website and my team is in deep development. We have found that we should be using multiple environments so that we can have an isolated sandbox for development and testing.

I am particularly interested in knowing how people manage content model changes (e.g do you run a migrate script?) and deployments between environments so that it is safe and easy to test new things as well as update production when necessary.