feat: alias map string interface
This commit is contained in:
parent
3d7019a7c2
commit
22cee85879
9
gorm.go
9
gorm.go
@ -16,6 +16,15 @@ import (
|
|||||||
// for Config.cacheStore store PreparedStmtDB key
|
// for Config.cacheStore store PreparedStmtDB key
|
||||||
const preparedStmtDBKey = "preparedStmt"
|
const preparedStmtDBKey = "preparedStmt"
|
||||||
|
|
||||||
|
// M is a convenient alias for a map[string]interface{} map, useful for
|
||||||
|
// dealing with GORM in a native way. For instance:
|
||||||
|
//
|
||||||
|
// gorm.M{"a": 1, "b": true}
|
||||||
|
//
|
||||||
|
// There's no special handling for this type in addition to what's done anyway
|
||||||
|
// for an equivalent map type.
|
||||||
|
type M = map[string]interface{}
|
||||||
|
|
||||||
// Config GORM config
|
// Config GORM config
|
||||||
type Config struct {
|
type Config struct {
|
||||||
// GORM perform single create, update, delete operations in transactions by default to ensure database data integrity
|
// GORM perform single create, update, delete operations in transactions by default to ensure database data integrity
|
||||||
|
@ -136,6 +136,25 @@ func TestCreateFromMap(t *testing.T) {
|
|||||||
if err := DB.Where("name = ?", "create_from_map_3").First(&result3).Error; err != nil || result3.Age != 20 {
|
if err := DB.Where("name = ?", "create_from_map_3").First(&result3).Error; err != nil || result3.Age != 20 {
|
||||||
t.Fatalf("failed to query data after create from slice of map, got error %v", err)
|
t.Fatalf("failed to query data after create from slice of map, got error %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
datas2 := []gorm.M{
|
||||||
|
{"Name": "create_from_M_1", "Age": 21},
|
||||||
|
{"name": "create_from_M_2", "Age": 22},
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := DB.Model(&User{}).Create(&datas2).Error; err != nil {
|
||||||
|
t.Fatalf("failed to create data from slice of map, got error: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var result4 User
|
||||||
|
if err := DB.Where("name = ?", "create_from_M_1").First(&result4).Error; err != nil || result4.Age != 21 {
|
||||||
|
t.Fatalf("failed to query data after create from slice of map, got error %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var result5 User
|
||||||
|
if err := DB.Where("name = ?", "create_from_M_2").First(&result5).Error; err != nil || result5.Age != 22 {
|
||||||
|
t.Fatalf("failed to query data after create from slice of map, got error %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCreateWithAssociations(t *testing.T) {
|
func TestCreateWithAssociations(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user