# Backend Data Rs

> Implementar adapters sqlx (persistência) Rust. Usar quando o pedido envolver repositório concreto, CustomerRecord ou mapeamento DB↔domínio.

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

---


# Backend Data (Rust / sqlx)

## Overview

Adapters em `infrastructure/persistence/<entity>_repository_sqlx.rs` — struct `CustomerRepositorySqlx` implementa `domain::ports::CustomerRepository`.

## Guidelines

- Record de DB: `CustomerRecord` ou row struct — separado de `domain::Customer`.
- Mapeamento explícito `record.to_domain()` / `Customer::to_record()`.
- Converter erros sqlx → `DomainError` / `AppError`.
- Sem Axum neste layer.

## Workflow

1. Migration via `config-sqlx-rs`.
2. Implementar adapter.
3. Registrar no DI / `AppState` se necessário.
4. Testes integração — `test-e2e-rs`.

## Global Standards

- Consultar `../config-shared-core-rs/references/rust-namespace-layout.md`.

