Beego注意事项(一)之数据库时区

之前未设置时间,导致读取时间慢16小时,记个笔记

时区设置

*   驱动默认使用 UTC 时间,而非本地时间,所以请指定时区参数或者全部以 UTC 时间存取
例如:`root:root@/orm_test?charset=utf8&loc=Asia%2FShanghai`
参见 [loc](https://github.com/go-sql-driver/mysql#loc) / [parseTime](https://github.com/go-sql-driver/mysql#parsetime)

具体代码,用的是mysql

mysqlHost := beego.AppConfig.String("mysqlHost")
mysqlPort := beego.AppConfig.String("mysqlPort")
mysqlUser := beego.AppConfig.String("mysqlUser")
mysqlPwd := beego.AppConfig.String("mysqlPwd")
mysqlDb := beego.AppConfig.String("mysqlDb")

//注册mysql Driver
err := orm.RegisterDriver("mysql", orm.DRMySQL) //用户名:密码@tcp(url地址)/数据库 ,名字对应app.conf配置数据库信息
if err != nil {
    logs.Error(err.Error())
    return
}
conn := mysqlUser + ":" + mysqlPwd + "@tcp(" + mysqlHost + ":" + mysqlPort + ")/" + mysqlDb + "?charset=utf8mb4&loc=Asia%2FShanghai"
//注册数据库连接
err = orm.RegisterDataBase("default", "mysql", conn)

//注册数据库连接
err = orm.RegisterDataBase("default", "mysql", conn)
if err != nil {
    logs.Error(err.Error())
    return
}

仅设置时区,无需以下设置

// 设置为 UTC 时间
//orm.DefaultTimeLoc = time.UTC

你可能感兴趣的:(Beego注意事项(一)之数据库时区)