MigrationExceptionReason
Why a migration run stopped, by kind of problem, for a log line or a metric to be keyed on. What is actually wrong is in details and in the cause.
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.