# Rust Database

> ---

- Skill: `huiali/rust-database` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add huiali/rust-database`
- Raw SKILL.md: https://api.skillmd.com/api/skills/huiali/rust-database/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: huiali (https://skillmd.com/u/huiali)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/huiali/rust-database

---

---
name: rust-database
description: "Rust database skill for SQLx/Diesel/SeaORM design, transaction boundaries, migration safety, query performance, and operational reliability."---

# Rust Database Skill

## Core Question

**How do we guarantee data correctness while keeping queries and migrations operationally safe?**

## Persistence Architecture

- Keep repository/data-access layer separate from business logic.
- Define explicit transaction boundaries around business invariants.
- Choose stack by need:
  - `sqlx`: explicit SQL and compile-time query checks.
  - `diesel`: typed query builder with strong schema coupling.
  - `sea-orm`: async ORM convenience with rapid CRUD iteration.

## Transaction and Consistency Rules

- Keep transactions short.
- Do not perform network calls inside transactions.
- Handle deadlock/serialization retries with bounded policy.

## Query Performance

- Use indexes based on real access patterns.
- Detect and remove N+1 query behavior.
- Inspect query plans for slow paths.

## Migration Safety

- Prefer additive migrations for rolling deployments.
- Separate destructive changes into phased rollouts.
- Verify backward/forward compatibility windows.

## Common Pitfalls

- Long-lived transactions causing lock contention.
- Schema changes incompatible with old app versions.
- Inconsistent timezone/nullability handling across layers.
- Pool exhaustion under burst traffic.

## Review Checklist

- [ ] Transaction boundaries align with domain invariants.
- [ ] Retry/timeout policy is explicit for DB operations.
- [ ] Migrations are safe for rolling deploy.
- [ ] Query plans and indexes are validated.
- [ ] Metrics cover pool usage, latency, and error rates.

## Verification Commands

```bash
cargo check
cargo test
cargo clippy
cargo sqlx prepare
cargo sqlx migrate run
```

## Related Skills

- `rust-web`
- `rust-cache`
- `rust-observability`

## Localized Reference

- Original Chinese version is preserved in `SKILL_ZH.md`.

