AuroraMeter.Migration.DataLossError exception (Aurora Meter v1.0.0)

View Source

Raised by AuroraMeter.Migration.down/1 and AuroraMeter.Pro.Migration.down/1 when the range holds a version whose down destroys a commercial fact.

down is not a rollback. Version 7's down removes event_id and payload_hash, which are the identity of every recorded fact, and drops aurora_meter_event_totals and aurora_meter_checkpoints with them. The supported recovery from a bad upgrade is the backup taken before it.

Both packages raise this one exception rather than two, so a host rescuing it needs one clause. :package says which package refused, and :reasons gives the reason each listed version is destructive, so the message is about the versions actually asked for rather than about version 7 whatever was asked for.

Pass confirm_data_loss: true when the loss is what you intend.

Summary

Types

t()

@type t() :: %AuroraMeter.Migration.DataLossError{
  __exception__: term(),
  destructive: [pos_integer()],
  message: String.t(),
  package: String.t(),
  reasons: %{required(pos_integer()) => String.t()},
  versions: [pos_integer()]
}