Let's say we add a section or other elements (field, category, tags, assets, etc) in the CP on our dev servers and want to roll that change out to a stage or production environment, is there a way to capture the changes we've made through the CP as a migration, or is there some other recommended way to reverse engineer that into a migration?

I have checked out the documentation on creating plugin migrations and a couple of questions here and here, but nothing addressing creating a migration for the craft DB itself.


1 Answer 1


You're looking for the answer to a complicated problem. :)

What you're thinking of I would describe as "content migrations" or "content model syncing".

There is currently nothing in Craft out-of-the-box that will do what you're looking for, although we've got some ideas on how we'd like to approach the sharing/syncing of content between environments/installations in the long term.

If you need something before then, you'll have to write a plugin that rolls its own solution.

  • I really think addressing this in the core of Craft would truly separate it head and shoulders from other CMSs. My hope is that this is addressed sooner than later and is a high priority for the Pixel and Tonic team. Just my two cents.
    – Wes Rice
    Commented Oct 21, 2014 at 14:21
  • @Brad We are not worried about the user content per se. I assume you are calling it a 'contents migration' because of the nature of craft, and how all fields, elements, etc are both structural (i.e. change the schema) as well as content (i.e. add records to craft_elements, craft_fields, etc.)? Commented Oct 21, 2014 at 15:07
  • @DouglasMcDonald Exactly.
    – Brad Bell
    Commented Oct 21, 2014 at 18:06
  • @BradBell are there any recommended plugins that do this now (2017)?
    – ricricucit
    Commented May 4, 2017 at 15:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.