Taking input from the community and edX for methods to upgrade schema of data stored outside of MySQL in a reliable manner (Elasticsearch in this case).
Django migrations already take care of upgrading MySQL data, but there doesn’t seem to be an already established patterns for doing the migrations automatically if using a store like Mongo or Elastic.
I’m strongly considering utilizing django migrations to run these upgrades, by putting the update code in a migration file. It also maintains a logical consistency, as the code is a “migration”, just not in the sql database.
Other options are also there, like adding new paver
commands to do this, but those require introducing new steps in the tooling and upgrade pipeline, which might introduce more complexity than it’s worth.
Any opinions for or against this are welcome