这是什么?
GORM 是一个功能齐全的 Go 语言 ORM 库,旨在对开发者友好,涵盖关联、钩子、事务、迁移等功能。
它是框架还是库?
它是一个可以导入到 Go 程序中的库,而不是独立的应用程序或服务器。
我怎么把它添加到项目中?
将 GORM 作为 Go 模块导入到你的项目中,然后按照官方的入门指南完成配置,并连接你的数据库。
使用它需要特定的数据库驱动吗?
需要。GORM 通过针对具体数据库的驱动或方言来工作,适用于你所连接的任何 SQL 数据库,不过 README 并未列出具体的驱动包。
它开箱即支持数据库路由这类功能吗?
核心功能已内置,但多数据库读写分离之类的功能是通过可扩展的插件 API 提供的,而不是包含在核心包中。
它支持哪些关系类型?
它支持一对一(Has One)、一对多(Has Many)、属于(Belongs To)、多对多(Many To Many)、多态关联(Polymorphism)和单表继承(Single-table inheritance)关联。
它支持事务吗?
支持,包括事务、嵌套事务、保存点,以及 RollbackTo(回滚到已保存的保存点)。
它能执行数据库迁移吗?
可以,GORM 内置了自动迁移(Auto Migrations)功能。
它能监控查询性能吗?
可以,通过其插件 API,GORM 提供了用于监控的 Prometheus 插件,此外还有 Database Resolver 等其他扩展。
What are similar projects?
gin-vue-admin, ent, pgx, mysql, gf, drizzle-orm, ai-novel-studio, migrate