Beego注意事项(一)之数据库时区
2019-12-02 本文已影响0人
视掘
之前未设置时间,导致读取时间慢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