Beego注意事项(一)之数据库时区 - Go语言中文社区

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
版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/06b16836e405
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-12 11:58:47
  • 阅读 ( 1935 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢