我想将隔离级别设置为repeatable read。如何使用gorm orm for postgres实现此目的。
repeatable read
示例代码:
func CreateAnimals(db *gorm.DB) err { tx := db.Begin() // Note the use of tx as the database handle once you are within a transaction if err := tx.Create(&Animal{Name: "Giraffe"}).Error; err != nil { tx.Rollback() return err } if err := tx.Create(&Animal{Name: "Lion"}).Error; err != nil { tx.Rollback() return err } tx.Commit() return nil }
我在这里有完全一样的问题:
func GetPageAfterUpdate(dp model.DbProvider, id int, update int, page *Page) (err error) { tx := dp.DB().Begin() err = tx.Exec(`set transaction isolation level repeatable read`).Error if err != nil { tx.Rollback() return }
和pg完全一样。