MigrationExceptionReason
Why a migration run stopped.
Deliberately coarse, and meant for a log line or a metric to be keyed on. What a human needs in order to fix anything is in details, which names the file, the class or the version at fault, and in the cause where there is one - so the split here is by kind of problem, not by which check happened to catch it.
Entries
One migration cannot be used: its name carries no version, its script opens a transaction of its own, it declares a directive nobody knows, or its class has no constructor to call.
Two migrations claim the same identity - the same version, or the same script in two places.
The migrator was set up in a way it cannot work with: nowhere to look, or somewhere that is not there.
The wait for the migration lock ran out. Another migrator is still going, or a session is holding the lock and not finishing - this is the one reason here that a caller might sensibly retry on.
The migrations on disk and the ones in the history disagree: one has changed since it ran, one the database has run is gone, or one arrived with a version below what is already applied.
A previous run died in the middle of a migration that was not in a transaction, so part of it is applied and part is not. Only a person can say what to do about that.
A migration ran and failed. What the server or the migration's own code said is the cause.
Properties
Functions
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.