Golang Database

Bonnes pratiques Go database/sql, sqlx, pgx — paramétrage, transactions, pooling, NULL.

par samber · samber/cc-skills-golang

Testé · Fonctionne ★ 8.8/10

Golang Database — Bonnes pratiques Go database/sql, sqlx, pgx — paramétrage, transactions, pooling, NULL.

Ce que fait

Une checklist de bonnes pratiques et un persona pour écrire ou revoir du code Go qui communique avec Postgres, MySQL, MariaDB ou SQLite. Se déclenche quand l'utilisateur écrit, revoit ou débogue du code database/sql, sqlx ou pgx, et refuse explicitement de générer des schémas ou du SQL de migration, laissant cela à une revue humaine. Livre quatre docs de référence approfondies (transactions, performance, tests, scanning) toutes présentes dans le dépôt.

Rapport de test

Soumis un handler Go avec du SQL construit par formatage de chaîne et sans rows.Close() ; il a nommé la règle exacte violée (#5 « rows MUST be closed ») et réécrit la fonction avec sqlx.GetContext et une gestion explicite de sql.ErrNoRows, au lieu de simplement signaler que ça « semble non sûr ».

Testé le: 2026-07-13 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/samber/cc-skills-golang
cd cc-skills-golang
mkdir -p ~/.claude/skills
cp -r skills/golang-database ~/.claude/skills/golang-database

Commandes et exemples de prompts

  • /golang-databaseBonnes pratiques Go database/sql, sqlx, pgx — paramétrage, transactions, pooling, NULL.

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Review this Go function that queries Postgres for SQL injection risks
  • How should I handle sql.ErrNoRows in Go when using sqlx
  • Debug this pgx connection pool exhaustion issue in my Go service