Files
sqlite3/gormlite/error_translator.go

22 lines
386 B
Go
Raw Normal View History

2023-06-06 12:37:54 +01:00
package gormlite
import (
"errors"
"github.com/ncruces/go-sqlite3"
"gorm.io/gorm"
)
2023-10-13 00:42:06 +01:00
func (_Dialector) Translate(err error) error {
2023-06-07 18:03:27 +01:00
switch {
case
errors.Is(err, sqlite3.CONSTRAINT_UNIQUE),
errors.Is(err, sqlite3.CONSTRAINT_PRIMARYKEY):
2023-06-06 12:37:54 +01:00
return gorm.ErrDuplicatedKey
2023-06-07 18:03:27 +01:00
case
errors.Is(err, sqlite3.CONSTRAINT_FOREIGNKEY):
2023-06-29 20:06:56 +01:00
return gorm.ErrForeignKeyViolated
2023-06-06 12:37:54 +01:00
}
return err
}