Об этом проекте

SeaORM — это многофункциональный объектно-реляционный маппер (ORM), разработанный для Rust. Он предоставляет высокоуровневый концептуальный способ моделирования сложных связей, включая отношения 1-1, 1-N, M-N и самоссылающиеся связи. Ключевые возможности включают: - Smart Entity Loader: интеллектуально использует join для связей 1-1 и data loaders для связей 1-N, чтобы устранить проблему N+1 запроса. - ActiveModel: поддерживает вложенное сохранение, позволяя сохранять целые графы объектов за одну операцию. - Гибкий рабочий процесс: поддерживает как подход schema-first (через систему миграций), так и entity-first, при котором схема базы данных автоматически синхронизируется на основе определений сущностей. - Поддержка Raw SQL: включает макрос `raw_sql!` для сложных запросов, который обеспечивает интерполяцию параметров и расширение массивов, предотвращая при этом SQL-инъекции. - Синхронная поддержка: с помощью `sea-orm-sync` API можно использовать без async runtime, что полезно для легковесных CLI-инструментов. - Интеграция: предоставляет примеры для различных веб-фреймворков Rust, включая Actix, Axum, Poem, Rocket и Salvo. Кроме того, экосистема включает Seaography для быстрого запуска GraphQL API и SeaORM Pro для профессиональных панелей администратора.