
Abidjan, Côte d'Ivoire
Inside SQLx: How Rust Checks SQL Before Your Application Runs
À quoi s'attendre
section.descriptionUne session pratique de deux heures explorant comment SQLx peut détecter les requêtes SQL invalides, les paramètres incompatibles, les colonnes manquantes et les mappages Rust incorrects lors de la compilation plutôt qu'après le déploiement.
La session suit une requête à travers la frontière entre Rust et la base de données : du texte SQL et des paramètres liés, en passant par l'inspection du schéma et l'analyse de type, jusqu'à la valeur Rust renvoyée à l'application. Nous casserons délibérément des requêtes, modifierons des schémas et introduirons des incompatibilités de type pour comprendre ce que SQLx peut prouver avant l'exécution — et ce qu'il ne peut pas.
L'accent n'est pas mis sur la mémorisation d'une API. Il s'agit de comprendre le modèle d'ingénierie derrière le SQL vérifié à la compilation, le rôle des migrations dans la préservation de ce modèle, et les conséquences pratiques pour le développement local, les tests, l'intégration continue et le déploiement.
Public cible : développeurs souhaitant comprendre comment Rust peut offrir des garanties plus solides autour du SQL ordinaire sans remplacer le SQL par un ORM ou un langage de requête.
Résultats :
- Suivre comment SQLx valide une requête lors de la compilation
- Comprendre comment les métadonnées de la base de données informent la vérification de type de Rust
- Voir les échecs à la compilation causés par des requêtes invalides et des types de résultats incompatibles
- Comprendre pourquoi le schéma actuel est important lors d'une construction
- Connecter les migrations de base de données à la correction des requêtes
- Distinguer les macros vérifiées des API de requête à l'exécution
- Évaluer quand la vérification SQL à la compilation améliore un projet et quand elle ajoute des frictions
Format : deux heures avec une investigation guidée, des expériences de requêtes cassées, des exemples de migration, une discussion sur les compromis opérationnels et une liste de contrôle réutilisable pour le code de base de données.