beego 在models报里 的init() 函数 为什么没有执行呢?

在beego models 报里面创建了 个Db.go 文件 文件中有init() 函数 在bee run项目中为什么没有执行init()函数呢?

代码如下

package models

import (
    "fmt"
    "log"

    //mysql
    _ "github.com/go-sql-driver/mysql"
    "github.com/go-xorm/xorm"
)

//X 数据库引擎  --mysql
var X *xorm.Engine

//init 初始化
func init() {
    fmt.Println("开始连接...")
    var err error
    X, err = xorm.NewEngine("mysql", "root:123456@/test")

    if err != nil {
        fmt.Println("链接数据库失败", err)
        log.Fatalf("链接数据库失败")
    }
    if err = Orm.Sync2(new(WorkYuangong)); err != nil {
        fmt.Println("同步表[WorkMx]表失败 !")
    }
    if err = X.Sync2(new(WorkMx)); err != nil {
        fmt.Println("同步表[WorkMx]表失败", err.Error())
    }

    if err = X.Sync2(new(WorkYuangong)); err != nil {
        fmt.Println("同步表[WorkYuangong]表失败", err.Error())
    }

    if err = X.Sync2(new(TbRecord)); err != nil {
        fmt.Println("同步表[TbRecord]表失败", err.Error())
    }
}

这里哪里有问题呢?

已邀请:

jicg - 杂而不精

赞同来自:

在main函数的go文件 加上 import _ "models",试试

TianGenglan - Go 创造!

赞同来自:

在beego程序运行的时候 不是直接就运行所有包下面的init 函数吗?

要回复问题请先登录注册