Rust

Database Integration

SQLx, Diesel, accesso async ai database, connection pooling, migrazioni, query builder, pattern ORM

20 domande da colloquio·
Senior
1

Qual è la principale differenza tra SQLx e Diesel riguardo alla verifica delle query?

Risposta

SQLx esegue la verifica delle query in fase di compilazione connettendosi a un database reale durante il processo di build. Diesel usa un DSL (Domain-Specific Language) di Rust per costruire query type-safe senza richiedere una connessione al database in fase di compilazione. Entrambi gli approcci garantiscono la type safety, ma SQLx permette di scrivere SQL grezzo verificato, mentre Diesel impone l'uso della sua API Rust.

2

In SQLx, quale macro permette di eseguire una query e mappare automaticamente i risultati su una struct Rust?

Risposta

La macro query_as! di SQLx esegue una query SQL e mappa automaticamente i risultati su una struct Rust specificata. Questa macro verifica in fase di compilazione che le colonne restituite corrispondano ai campi della struct, garantendo la type safety. La macro query! restituisce un tipo anonimo, mentre query_scalar! è usata per estrarre un singolo valore.

3

Come configurare un connection pool con SQLx per un'applicazione PostgreSQL async?

Risposta

SQLx usa PgPoolOptions per configurare un connection pool PostgreSQL asincrono. Il metodo max_connections definisce il numero massimo di connessioni e connect crea il pool a partire dall'URL del database. Il pool gestisce automaticamente l'acquisizione e il rilascio delle connessioni e supporta timeout e retry configurabili.

4

In Diesel, come definire uno schema di tabella per abilitare operazioni CRUD type-safe?

5

Quale trait di Diesel deve implementare una struct per inserire dati in una tabella?

+17 domande da colloquio

Padroneggia Rust per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis