À propos du projet

SeaORM est un mappeur objet-relationnel (ORM) riche en fonctionnalités conçu pour Rust. Il propose une approche conceptuelle de haut niveau pour modéliser des relations complexes, notamment les relations 1-1, 1-N, M-N et les relations auto-référentielles. Les capacités clés incluent : - Smart Entity Loader : utilise intelligemment les jointures pour les relations 1-1 et les chargeurs de données pour les relations 1-N afin d'éliminer le problème de requête N+1. - ActiveModel : prend en charge la persistance imbriquée, permettant la sauvegarde de graphes d'objets entiers en une seule opération. - Flux de travail flexible : prend en charge les flux de travail schema-first (via un système de migration) et entity-first, où le schéma de la base de données est automatiquement synchronisé en fonction des définitions d'entités. - Support SQL brut : inclut une macro `raw_sql!` pour les requêtes complexes qui permet l'interpolation de paramètres et l'expansion de tableaux tout en empêchant les injections SQL. - Support synchrone : grâce à `sea-orm-sync`, l'API peut être utilisée sans runtime asynchrone, ce qui est utile pour les outils CLI légers. - Intégration : fournit des exemples pour divers frameworks web Rust, notamment Actix, Axum, Poem, Rocket et Salvo. De plus, l'écosystème comprend Seaography pour lancer rapidement des API GraphQL et SeaORM Pro pour des panneaux d'administration professionnels.