github.com/pupizoid/migrate@v3.5.4+incompatible/database/error.go (about)

     1  package database
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  // Error should be used for errors involving queries ran against the database
     8  type Error struct {
     9  	// Optional: the line number
    10  	Line uint
    11  
    12  	// Query is a query excerpt
    13  	Query []byte
    14  
    15  	// Err is a useful/helping error message for humans
    16  	Err string
    17  
    18  	// OrigErr is the underlying error
    19  	OrigErr error
    20  }
    21  
    22  func (e Error) Error() string {
    23  	if len(e.Err) == 0 {
    24  		return fmt.Sprintf("%v in line %v: %s", e.OrigErr, e.Line, e.Query)
    25  	}
    26  	return fmt.Sprintf("%v in line %v: %s (details: %v)", e.Err, e.Line, e.Query, e.OrigErr)
    27  }