SuperAPI AI 工具集

go-data-persistence

数据与分析

查看项目

更新于 10-15 21:39

技能介绍

用途:为 Go 应用提供数据持久化的实践指南,覆盖原生 SQL(sqlx/pgx)、ORM(Ent/GORM)、连接池、迁移与事务。

主要能力:

  1. 选型对比:复杂查询、性能控制、类型安全、快速原型、迁移方式等维度对比原生 SQL 与 ORM;pgx 为推荐 PostgreSQL 驱动,Ent 在新项目中优先于 GORM。
  2. 连接池:基于 database/sql 配置 SetMaxOpenConns、SetMaxIdleConns、SetConnMaxLifetime、SetConnMaxIdleTime,并给出容量计算与取值建议。
  3. 仓储模式:在消费方定义 Store 接口,用 sqlx 实现,配合 db 标签映射列,返回 ErrNotFound、ErrConflict 等领域错误,避免数据库类型泄漏到 handler。
  4. 迁移:使用 golang-migrate,按 up/down 成对 SQL 文件管理,可在启动时执行,要求幂等且不修改已应用迁移。
  5. 事务:提供 WithTx 辅助函数,事务在服务层管理,Store 方法接收 *sql.Tx 以组合多个操作。

使用方式:按需加载 references/connection-pooling.md、references/migrations.md、references/transactions.md 获取连接池内部机制、CI/CD 集成、隔离级别与死锁处理等细节。合并前需通过迁移、查询安全、连接池与上下文三类客观检查。

适用场景:需要精细控制查询性能、复杂 join/CTE/窗口函数、PostgreSQL 高级特性,或希望类型安全与快速迭代的 Go 后端项目。

限制:资料未提供具体版本要求、依赖安装命令、性能基准数据或收费信息;部分内容以参考文件形式存在,正文未展开。