12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package migres
- import (
- "fmt"
- "github.com/annybs/go-version"
- )
- var (
- ErrMigrationFailed = Error{Message: "migration failed at version %q: %s"}
- )
- type Error struct {
- Message string
- PreviousError error
- Version *version.Version
- LastVersion *version.Version
- }
- func (e *Error) Error() string {
- return fmt.Sprintf(e.Message, e.Version, e.PreviousError)
- }
- func (e *Error) Is(target error) bool {
- if t, ok := target.(*Error); ok {
- return t.Message == e.Message
- }
- return false
- }
- func failMigration(err error, v, last *version.Version) *Error {
- return &Error{
- Message: ErrMigrationFailed.Message,
- PreviousError: err,
- Version: v,
- LastVersion: last,
- }
- }
|