How is data maintained when migrating to a new version with changed data models?

I’m new to Baserow, assessing it for tracking long-term operational data at my company. I have been testing a self-hosted instance. I have experience with Django.

I found the instructions for migrating an existing self-hosted instance to a newer version, and I was able to follow them successfully to go from 1.13 to 1.14. I see that the database lives in a Docker volume, which allows it to persist even when the Docker container is replaced. That all makes sense.

I’m curious what happens if/when the data models change across Baserow versions. Are migrations automatically run to restructure the database when the container starts? Some other mechanism? Is there danger of breaking changes meaning that data from one version can’t be persisted into another version?

Thanks.

Is there danger of breaking changes meaning that data from one version can’t be persisted into another version?

No there isn’t. Every time the model changes we run a migration to make sure all the data gets converted. If we wouldn’t do that it would also break our SaaS solution (baserow.io).

The migrations are handled by django, you can run them manually with manage.py migrate or you can rebuild your docker image and it will run the migrations for you.

Does that answer your question?

Yes it does answer my question, thanks.

That’s what I had guessed, but appreciate the confirmation.