go-gorm / postgres

GORM PostgreSQL driver
MIT License
228 stars 120 forks source link

Feature sqlstate support #215

Closed alirezaarzehgar closed 11 months ago

alirezaarzehgar commented 1 year ago

What did this pull request do?

Add support for invalid column error translation

User Case Description

type Model struct {
    Field string
}

dsn := "host=localhost port=5432 user=user password=pass dbname=db sslmode=disable TimeZone=Asia/Tehran"
db, ـ := gorm.Open(postgres.Open(dsn), &gorm.Config{TranslateError: true})
db.AutoMigrate(&Model{})

var m Model
err = db.First(&m, "wrongfield = ?", "value").Error
if errors.Is(err, gorm.ErrInvalidField) {
    fmt.Println("Invalid Field")
} else if err != nil {
    fmt.Println("Unknown error")
}