Golang Database

Best practices för Go database/sql, sqlx, pgx — parameterisering, transaktioner, pooling, NULL-värden.

av samber · samber/cc-skills-golang

Testad · Fungerar ★ 8.8/10

Golang Database — Best practices för Go database/sql, sqlx, pgx — parameterisering, transaktioner, pooling, NULL-värden.

Vad den gör

En checklista och persona för att skriva eller granska Go-kod som pratar med Postgres, MySQL, MariaDB eller SQLite. Triggas när användaren skriver, granskar eller felsöker database/sql-, sqlx- eller pgx-kod, och vägrar uttryckligen generera scheman eller migrations-SQL, vilket lämnas till mänsklig granskning. Levererar fyra djupdykande referensdokument (transaktioner, prestanda, testning, scanning), alla närvarande i repot.

Testrapport

Matade den en Go-handler med strängformaterad SQL och utan rows.Close(); den namngav den exakta brutna regeln (#5 "rows MUST be closed") och skrev om funktionen med sqlx.GetContext och uttrycklig sql.ErrNoRows-hantering istället för att bara flagga "ser osäkert ut.".

Testad: 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

Kommandon och exempelprompter

  • /golang-databaseBest practices för Go database/sql, sqlx, pgx — parameterisering, transaktioner, pooling, NULL-värden.

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • 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