Go代码生成ORM
各维度得分依据公开资料与字段推算,加权后即综合评分,仅供参考。
SQLBunny 是一个基于代码生成的 Go ORM。它的核心思路不是运行时大量依赖反射或通用接口,而是根据模型定义生成 Go 结构体和数据库访问方法。正文强调其生成代码是静态类型的,并且“No interface{}”,这对重视类型安全、编译期检查和 IDE 补全的 Go 开发者有明显吸引力。
从功能看,SQLBunny 覆盖了 ORM 的主要环节:模型定义、标准类型、查询、查询绑定、查询日志、关系、事务、迁移、Hooks 与插件编写。示例中通过 Model 和 Field 定义 book 模型,运行 sqlbunny 后会生成 models.Book 结构体,并可调用 Insert(ctx) 插入、models.Books().All(ctx) 查询。它还支持自动迁移生成,即对比当前 migrations 与定义的 models 来生成迁移;支持关系辅助函数、枚举、可复用并展开为多列的 Structs,以及字段中的自定义 Go 类型。
SQLBunny 明确面向 Go。数据库支持方面,正文写明 PostgreSQL 已完整支持,MySQL 和其他数据库仍处于 coming soon 状态。因此,如果团队主要使用 Postgres,它的适配信息较明确;如果依赖 MySQL、多数据库或云数据库兼容层,则需要谨慎评估。生态上,它起源于 SQLBoiler 的 fork,并提供 BunnyID plugin、Hooks plugin 和 Writing plugins 文档入口,说明具备一定扩展设计。
抓取正文未披露定价模式、付费方案、许可证或开源状态,因此无法判断商业成本与合规风险。文档方面,页面提供独立文档站点,并列出 Getting Started、Types、Models、Querying、Transactions、Migrations 等章节,结构看起来较完整;但当前正文只有目录和简短示例,不能确认文档深度、更新频率和生产问题覆盖度。
优点是类型安全、生成代码直观、PostgreSQL 支持明确,并内置迁移和关系辅助能力。缺点是数据库覆盖有限,开源/闭源、维护团队、社区规模和定价信息缺失。它适合使用 Go + PostgreSQL、希望减少手写 SQL 数据访问代码、同时又不想牺牲类型安全的后端团队。中国访问情况正文没有依据可判断,标记为未知;可替代方案包括 SQLBoiler、GORM、Ent、Bun 和 sqlc。
本测评基于公开资料整理,不构成购买建议,请以 sqlbunny.io 官网实际信息为准。
面向Go开发者的代码生成ORM项目。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。