目录
最近由于业务数据表增长过快,做了按月分表处理,表明如:user_202206,user_202207,user_20220......。
比如当前是2022-07月,查询的表是user_202207,如果今天正好跨月是8月1号,此时你会发现程序查询有问题,没有按照新的分表user_202208查询,发现问题后手动重新部署了下服务器,程序又可以正常查询user_202208分表了。
gorm TableName
不支持动态变化,它会被缓存下来以便后续使用(正常表的表名查询是会被缓存下来,导致动态分表的数据无法正常查询)
官方文档:约定 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.
需要强制指定表明即可:db.Table("user_202208")