Implement automatic schema upgrading
SchemaVersion subclasses form a DAG, managed by Guice, chaining the
current schema version to its immediate predecessor. When a version
is selected, we try to upgrade to it by first asking is predecessor
to validate (and upgrade).
Drops of schema elements are not performed automatically, but instead
are printed to the console so the administrator can verify the drops
aren't their own private schema elements, and execute the commands
they know won't damage their own private data.
Change-Id: I2a53749ca23432da2a9b1866203aafb151b48aab
Signed-off-by: Shawn O. Pearce <sop@google.com>
19 files changed