Vapor ORM for building database models, queries, and relations with support for both SQL and NoSQL databases.
Fluent is an Object-Relational Mapping (ORM) framework for Vapor applications that provides a unified interface for working with both SQL and NoSQL databases. It solves the problem of database abstraction by allowing developers to write database-agnostic code while maintaining type safety and integration with Vapor's ecosystem.
Swift developers building server-side applications with Vapor who need to interact with databases in a type-safe, database-agnostic way.
Developers choose Fluent for its seamless integration with Vapor, support for multiple database backends, and type-safe query building that reduces errors and improves developer productivity compared to raw SQL or database-specific drivers.
Vapor ORM (queries, models, and relations) for NoSQL and SQL databases
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ties directly into Vapor's application lifecycle and authentication APIs, as the README highlights, making setup and management straightforward for Vapor apps.
Provides a single interface for SQL (PostgreSQL, MySQL, SQLite) and NoSQL (MongoDB) databases, enabling database-agnostic code and easier backend switching.
Allows constructing complex database queries in Swift with compile-time type safety, reducing runtime errors and improving developer productivity.
Supports defining and querying one-to-one, one-to-many, and many-to-many relationships between models, essential for handling complex data structures in applications.
The abstraction layer can introduce latency compared to raw database queries, especially for complex operations, which might impact high-performance applications.
Only supports a fixed set of databases (PostgreSQL, MySQL, SQLite, MongoDB), lacking support for other popular backends like Redis or Cassandra, limiting flexibility.
Tightly coupled with Vapor's ecosystem, making it unusable with other Swift server frameworks and difficult to migrate away from if project requirements change.