Schema migration process
Tim Penhey
tim.penhey at canonical.com
Fri May 16 03:19:57 UTC 2014
Hi folks,
We have been talking about how to handle database schema updates for a
long time, and many times things were deferred as we had clients
connecting directly to the database.
Due to the hard work of the team, we are no in a place where this is no
longer the case as all external connections come through the API server.
We also now have a central place in the code where upgrade steps should
live (the upgrades package).
For some upcoming work we have around identity, we need to update the
schema of existing documents. A big change is changing the identity
field (_id). This change is going to need to be done for almost all the
documents in the database as we move to work on the multi-environment
state server task. Many of the existing documents, like machine,
service and unit use the id or name of the entity in the environment as
the primary (_id) key. This isn't going to work in a state server that
has multiple environments.
So... handling schema upgrades is a very urgent need for the juju team
this cycle. I though it best to reach out prior to putting too much
work into it to solicit ideas that people may already have had, or work
that has been done elsewhere.
Cheers,
Tim
More information about the Juju-dev
mailing list