Golang Database

Beste praksis for Go database/sql, sqlx, pgx — parameterisering, transaksjoner, pooling, NULL-verdier.

av samber · samber/cc-skills-golang

Bestått ★ 8.8/10

Golang Database — Beste praksis for Go database/sql, sqlx, pgx — parameterisering, transaksjoner, pooling, NULL-verdier.

Hva den gjør

En sjekkliste og persona for beste praksis for å skrive eller gjennomgå Go-kode som snakker med Postgres, MySQL, MariaDB eller SQLite. Utløses når brukeren skriver, gjennomgår eller feilsøker database/sql-, sqlx- eller pgx-kode, og nekter eksplisitt å generere skjemaer eller migrasjons-SQL, og overlater det til menneskelig gjennomgang. Leveres med fire dyptgående referansedokumenter (transaksjoner, ytelse, testing, scanning), alle til stede i repoet.

Testrapport

Ga den en Go-handler med strengformatert SQL og ingen rows.Close(); den navnga den eksakte regelen som var brutt (#5 'rows MUST be closed') og skrev om funksjonen med sqlx.GetContext og eksplisitt sql.ErrNoRows-håndtering i stedet for bare å flagge at det 'ser usikkert ut'.

Testet på: 2026-07-13 · Claude Code 2.x (agent harness)

Installer

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

Kommandoer og eksempelprompter

  • /golang-databaseBeste praksis for Go database/sql, sqlx, pgx — parameterisering, transaksjoner, pooling, NULL-verdier.

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • 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