首页 > register db 'default', sql :unknown driver ""。

register db 'default', sql :unknown driver ""。

beego 启动时,无法识别sql驱动

package models

import (
    "database/sql"
    "fmt"
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm"
    _ "github.com/go-sql-driver/mysql"
    _ "github.com/lib/pq"
    "log"

    "github.com/garyburd/redigo/redis"
)

var o orm.Ormer
var Conn redis.Conn

func Syncdb() {
    createdb()
    Connect()
    o = orm.NewOrm()
    name := "default"
    force := true
    verbose := true
    err := orm.RunSyncdb(name, force, verbose)
    if err != nil {
        fmt.Println(err)
    }

    //初始化数据

    fmt.Println("database init is complete . \n Please restart the application")
}

func Connect() {

    var dns string

    db_type := beego.AppConfig.String("db_type")

    db_host := beego.AppConfig.String("db_host")

    db_port := beego.AppConfig.String("db_port")

    db_user := beego.AppConfig.String("db_user")

    db_pass := beego.AppConfig.String("db_pass")

    db_name := beego.AppConfig.String("db_name")

    //    db_path := beego.AppConfig.String("db_path")

    orm.RegisterDriver("mymysql", orm.DRMySQL)
    dns = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", db_user, db_pass, db_host, db_port, db_name)

    orm.RegisterDataBase("default", db_type, dns)


}

func createdb() {

    db_type := beego.AppConfig.String("db_type")
    db_host := beego.AppConfig.String("db_host")
    db_port := beego.AppConfig.String("db_port")
    db_user := beego.AppConfig.String("db_user")
    db_pass := beego.AppConfig.String("db_pass")
    db_name := beego.AppConfig.String("db_name")

    var dns string
    var sqlstring string

    dns = fmt.Sprintf("%s:%s@tcp(%s:%s)/?charset=utf8", db_user, db_pass, db_host, db_port)
    sqlstring = fmt.Sprintf("CREATE DATABASE  if not exists `%s` CHARSET utf8 COLLATE utf8_general_ci", db_name)

    db, err := sql.Open(db_type, dns)
    if err != nil {
        panic(err.Error())
    }
    r, err := db.Exec(sqlstring)

    if err != nil {
        log.Println(err)
        log.Println(r)
    } else {
        log.Println("Database:", db_name, "created")
    }
    defer db.Close()

}

报错:


$ go run main.go
[ORM]register db 'default' , sql :unknown driver "" (forgotten import?)

谁知道这是怎么回事?

【热门文章】
【热门文章】