## 一、在main.go中調用RunCommand命令
~~~
beego.Run()命令之前調用:
orm.RunCommand()
~~~
## 二、在程序中調用直接自動建表
~~~
name := "default"
// drop table 后再建表
force := false
// 打印執行過程
verbose := true
// 遇到錯誤立即返回
err := orm.RunSyncdb(name, force, verbose)
if err != nil {
fmt.Println(err)
}
~~~
## 三、實例
~~~
package main
import (
_ "beego_model02/models"
_ "beego_model02/routers"
"beego_model02/utils"
"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
func init() {
// 讀取配置信息
dbhost := beego.AppConfig.String("dbhost")
dbport := beego.AppConfig.String("dbport")
dbuser := beego.AppConfig.String("dbuser")
dbpassword := beego.AppConfig.String("dbpassword")
db := beego.AppConfig.String("db")
//注冊mysql Driver
orm.RegisterDriver("mysql", orm.DRMySQL)
//構造conn連接
//用戶名:密碼@tcp(url地址)/數據庫
conn := dbuser + ":" + dbpassword + "@tcp(" + dbhost + ":" + dbport + ")/" + db + "?charset=utf8"
//注冊數據庫連接
orm.RegisterDataBase("default", "mysql", conn)
fmt.Printf("數據庫連接成功!%s\n", conn)
}
func main() {
name := "default"
// drop table 后再建表
force := false
// 打印執行過程
verbose := true
// 遇到錯誤立即返回
err := orm.RunSyncdb(name, force, verbose)
if err != nil {
fmt.Println(err)
}
orm.RunCommand()
beego.Run()
}
~~~
## 四、報錯
```
must have one register DataBase alias named `default`
```
確定下main.go中是否引入如下兩個文件:
~~~
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
~~~