跳转到正文
返回文章列表

GORM V1 与 V2 的区别:从导入路径识别版本

更新于 2026-10-02 20:02

搜索 GORM 示例时,经常看到两种导入路径。它们代表不同代际;判断教程适用哪个版本,先看 import,比只看“GORM”这个名称更准确。

从导入路径区分

版本

Go 导入路径

代码仓库

GORM V1

github.com/jinzhu/gorm

github.com/jinzhu/gorm

GORM V2

gorm.io/gorm

github.com/go-gorm/gorm

github.com/go-gorm/gorm 是新版本的仓库地址,官方 Go 模块导入路径使用 gorm.io/gorm。

V2 的数据库驱动单独安装

以 SQLite 为例:

Bash
go get gorm.io/gorm
go get gorm.io/driver/sqlite
Go
import (
    "gorm.io/driver/sqlite"
    "gorm.io/gorm"
)

MySQL、PostgreSQL 等也有各自的驱动模块,按实际使用的数据库选择。

为什么 V2 的版本号可能还是 v1.x

官方发布说明指出,GORM 2.0 最初使用的 Git tag 是 v1.20.0。“GORM V2”与模块版本号首位不是一回事,不能因为版本显示 v1.x 就断定项目使用旧版 GORM。

阅读旧教程或迁移项目

先检查 go.mod 和导入路径,再选同一代际的文档。V2 调整了 API 和行为,驱动模块也不同,迁移不能只做 import 文本替换。

新项目使用当前版本时,以 gorm.io/gorm 的官方文档为准;已有项目结合查询、模型和事务等实际用法检查兼容性,不把两套示例直接混用。

参考:GORM 2.0 官方发布说明。

评论 0

还没有公开评论。

评论已关闭,历史评论仍可阅读。

留下评论

评论审核通过后公开。支持纯文本,最多 2000 个字符。