# How do I manage schema/mapping migrations/evolutions in Elasticsearch?

**URL:** <https://discuss.elastic.co/t/how-do-i-manage-schema-mapping-migrations-evolutions-in-elasticsearch/82105>\
**Category:** Elasticsearch\
**Created:** [April 12, 2017, 7:32am UTC](https://discuss.elastic.co/t/how-do-i-manage-schema-mapping-migrations-evolutions-in-elasticsearch/82105 "2017-04-12T07:32:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![elnur](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elnur/32/17273_2.png) [@elnur](https://discuss.elastic.co/u/elnur)\
**Post date:** [April 12, 2017, 7:32am UTC](https://discuss.elastic.co/t/how-do-i-manage-schema-mapping-migrations-evolutions-in-elasticsearch/82105/1 "2017-04-12T07:32:26Z")

</div>

[Flyway](https://flywaydb.org) is a very convenient schema migration/evolution tool in the RDBMS world. I'm looking for something similar for ES.

Even though ES is different from RDBMS and I get that, the whole point of a tool like Flyway is basically doing the same schema changes in **multiple environments** such as 5 developer environments and staging/production environments. Even if I go with the aliasing approach described [in a blog post](https://www.elastic.co/blog/changing-mapping-with-zero-downtime), I still need to do that create-new-index-then-load-data-into-it-then-update-alias cycle in **each** environment. What I'm looking for is an **automated** way of doing that.

I can't just ask each developer to run a particular script after they pull a particular commit. Nor do I want to remember to manually run scripts like that in staging and production environments after deploying the latest codebase. Especially when the person doing a deployment is not the one who wrote migration scripts. All that feels so 20 years ago.

The problem has been solved multiple times in the RDBMS world. There are multiple mature tools out there. Flyway is just one of them and is my favorite. But I can't find anything similar for ES. I googled half the Web for it. Either my googling skills are very poor or a tool like that doesn't exist.

What am I missing? Is there a tool I can't find? Or am I completely misunderstanding something about ES and a tool like that doesn't make sense because of something I don't yet understand?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 10, 2017, 7:35am UTC](https://discuss.elastic.co/t/how-do-i-manage-schema-mapping-migrations-evolutions-in-elasticsearch/82105/2 "2017-05-10T07:35:31Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
