Fix when the evolving and evolved signals are emitted.
Review Request #10600 — Created June 18, 2019 and submitted
evolvedsignals were being emitted within a
try/except, and if these had ended up raising an exception,
evolving_failedwould end up being emitted as well. This could cause
some weirdness and broken behavior. We now emit these outside of the
signal handler instead.
Unit tests pass on all supported versions of Django.
Tested upgrading a database and hitting an error in the
handler. Saw that
evolving_faileddid not get emitted (which caused
a weird breakage in testing).