Improve error output when a signature is missing data.
Review Request #9533 — Created Jan. 25, 2018 and submitted — Latest diff uploaded
From time to time, often due to hand-manipulation of data or unfortunate
crashes, a stored database signature may not contain some data expected
by evolution files, resulting in KeyErrors when attempting to apply the
evolution. It's not always clear what part of the database or evolution
process these KeyErrors apply to, making these situations painful for
debugging.This change adds better error checking around any signature lookups,
raising errors with enough information to identify the change being
applied. It also improves existing error messages, creating consistent
wording for most mutation-related errors.
Unit tests pass.