package main import ( "git.sxidc.com/go-tools/utils/strutils" "git.sxidc.com/service-supports/ds-sdk/sdk" "git.sxidc.com/service-supports/ds-sdk/sql" "time" ) func main() { err := sdk.InitInstance(token, address, httpPort, grpcPort, namespace, dataSource) if err != nil { panic(err) } defer func() { err := sdk.DestroyInstance() if err != nil { panic(err) } }() now := time.Now() graduatedTime := now.AddDate(3, 0, 0) classID := strutils.SimpleUUID() studentIDs := []string{strutils.SimpleUUID(), strutils.SimpleUUID(), strutils.SimpleUUID()} class := &Class{ IDField: IDField{ID: classID}, Name: "001", StudentNum: 10, GraduatedTime: &graduatedTime, StudentIDs: studentIDs, } newClass := &Class{ IDField: IDField{ID: classID}, Name: "", StudentNum: 30, GraduatedTime: &graduatedTime, StudentIDs: studentIDs, } err = sdk.GetInstance().Transaction(func(tx *sdk.Transaction) error { err = sql.InsertEntity(tx, tableName, class) if err != nil { panic(err) } err = sql.UpdateEntity(tx, tableName, newClass) if err != nil { panic(err) } err = sql.DeleteEntity(tx, tableName, &Class{IDField: IDField{ID: classID}}) if err != nil { panic(err) } return nil }) if err != nil { panic(err) } }