6.自动建表
最后更新于:2022-04-02 04:54:42
beego orm 自动建表:
~~~
package main
import (
"fmt"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
// struct 字段,首字母必须大写
type PersonCopy struct {
User_id int `orm:"pk;auto"`
Username string `orm:"size(260);null;default(NULL)"`
Sex string `orm:"size(260);null;default(NULL)"`
Email string `orm:"size(260);null;default(NULL)"`
}
func init() {
maxIdle := 30
maxConn := 30
// 创建连接池
err := orm.RegisterDataBase("default", "mysql", "root:root@tcp(127.0.0.1:3306)/test?charset=utf8", maxIdle, maxConn)
if err != nil {
fmt.Println("connect mysql err : ", err)
}
// 需要在init中注册定义的model
orm.RegisterModel(new(PersonCopy))
}
func main() {
// 自动建表
orm.RunSyncdb("default", false, true)
}
~~~
注意:
创建连接 orm.RegisterDataBase 和自动建表 orm.RunSyncdb 代码要在同级模块下。
否则会有如下错误:
~~~
must have one register DataBase alias named `default`
~~~
';