当前位置: 首页>>代码示例>>Golang>>正文


Golang Engine.CreateTables方法代码示例

本文整理汇总了Golang中github.com/lunny/xorm.Engine.CreateTables方法的典型用法代码示例。如果您正苦于以下问题:Golang Engine.CreateTables方法的具体用法?Golang Engine.CreateTables怎么用?Golang Engine.CreateTables使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/lunny/xorm.Engine的用法示例。


在下文中一共展示了Engine.CreateTables方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: test

func test(engine *xorm.Engine) {
	err := engine.CreateTables(u)
	if err != nil {
		fmt.Println(err)
		return
	}

	size := 500
	queue := make(chan int, size)

	for i := 0; i < size; i++ {
		go func(x int) {
			//x := i
			err := engine.Test()
			if err != nil {
				fmt.Println(err)
			} else {
				err = engine.Map(u)
				if err != nil {
					fmt.Println("Map user failed")
				} else {
					for j := 0; j < 10; j++ {
						if x+j < 2 {
							_, err = engine.Get(u)
						} else if x+j < 4 {
							users := make([]User, 0)
							err = engine.Find(&users)
						} else if x+j < 8 {
							_, err = engine.Count(u)
						} else if x+j < 16 {
							_, err = engine.Insert(&User{Name: "xlw"})
						} else if x+j < 32 {
							_, err = engine.Id(1).Delete(u)
						}
						if err != nil {
							fmt.Println(err)
							queue <- x
							return
						}
					}
					fmt.Printf("%v success!\n", x)
				}
			}
			queue <- x
		}(i)
	}

	for i := 0; i < size; i++ {
		<-queue
	}

	//conns := atomic.LoadInt32(&xorm.ConnectionNum)
	//fmt.Println("connection number:", conns)
	fmt.Println("end")
}
开发者ID:matm,项目名称:gobuild,代码行数:55,代码来源:goroutine.go

示例2: test

func test(engine *xorm.Engine) {
	err := engine.CreateTables(u)
	if err != nil {
		fmt.Println(err)
		return
	}

	engine.ShowSQL = true
	engine.Pool.SetMaxConns(5)
	size := 1000
	queue := make(chan int, size)

	for i := 0; i < size; i++ {
		go func(x int) {
			//x := i
			err := engine.Test()
			if err != nil {
				fmt.Println(err)
			} else {
				err = engine.Map(u)
				if err != nil {
					fmt.Println("Map user failed")
				} else {
					for j := 0; j < 10; j++ {
						if x+j < 2 {
							_, err = engine.Get(u)
						} else if x+j < 4 {
							users := make([]User, 0)
							err = engine.Find(&users)
						} else if x+j < 8 {
							_, err = engine.Count(u)
						} else if x+j < 16 {
							_, err = engine.Insert(&User{Name: "xlw"})
						} else if x+j < 32 {
							_, err = engine.Id(1).Delete(u)
						}
						if err != nil {
							fmt.Println(err)
							queue <- x
							return
						}
					}
					fmt.Printf("%v success!\n", x)
				}
			}
			queue <- x
		}(i)
	}

	for i := 0; i < size; i++ {
		<-queue
	}

	fmt.Println("end")
}
开发者ID:jimmykuu,项目名称:xorm,代码行数:55,代码来源:maxconnect.go


注:本文中的github.com/lunny/xorm.Engine.CreateTables方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。