File tree Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Original file line number Diff line number Diff line change
1
+ package sqlserver
2
+
3
+ import (
4
+ "github.com/microsoft/go-mssqldb"
5
+
6
+ "gorm.io/gorm"
7
+ )
8
+
9
+ var errCodes = map [string ]int32 {
10
+ "uniqueConstraint" : 2627 ,
11
+ }
12
+
13
+ type ErrMessage struct {
14
+ Number int32 `json:"Number"`
15
+ Message string `json:"Message"`
16
+ }
17
+
18
+ // Translate it will translate the error to native gorm errors.
19
+ func (dialector Dialector ) Translate (err error ) error {
20
+ if mssqlErr , ok := err .(* mssql.Error ); ok {
21
+ if mssqlErr .Number == errCodes ["uniqueConstraint" ] {
22
+ return gorm .ErrDuplicatedKey
23
+ }
24
+ }
25
+
26
+ return err
27
+ }
Original file line number Diff line number Diff line change @@ -7,5 +7,5 @@ require (
7
7
github.com/jinzhu/now v1.1.5 // indirect
8
8
github.com/microsoft/go-mssqldb v0.21.0
9
9
golang.org/x/crypto v0.0.0-20221005025214-4161e89ecf1b // indirect
10
- gorm.io/gorm v1.24.0
10
+ gorm.io/gorm v1.25.1
11
11
)
You can’t perform that action at this time.
0 commit comments