更换GORM默认的SQLite驱动
在GORM官方的Issues发现也有人反馈此类问题,于是顺藤摸瓜,找到了github.com/glebarez/sqlite
这个库,该库使用纯go实现,不依赖CGO,地址是:https://github.com/glebarez/sqlite
于是将官方的驱动:
import (
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
更换为:
import (
"github.com/glebarez/sqlite"
"gorm.io/gorm"
)
这样就可以在不依赖CGO的情况下编译出静态二进制文件,从而解决跨平台依赖动态链库的问题。
代价
glebarez/sqlite
性能不及官方驱动,但牺牲少部分性能来换取方便个人觉得还是值得的,如果没有跨平台需求,使用官方默认驱动即可- 静态编译打包后的文件体积明显增加