An ORM for Crystal with adapters for PostgreSQL, MySQL, and SQLite.
Granite is an Object-Relational Mapping (ORM) library for the Crystal programming language. It provides adapters for PostgreSQL, MySQL, and SQLite, allowing developers to interact with databases using Crystal's type-safe syntax. It solves the problem of database integration in Crystal applications by offering a consistent, database-agnostic interface.
Crystal developers building web applications or any software requiring database interactions, particularly those using the Amber web framework.
Developers choose Granite for its native Crystal integration, support for multiple databases, and straightforward approach to ORM that leverages Crystal's performance and type safety without unnecessary complexity.
ORM Model with Adapters for mysql, pg, sqlite in the Crystal Language.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates with Crystal's static type system to provide compile-time checks on database queries and models, reducing runtime errors and improving code reliability.
Offers dedicated adapters for PostgreSQL, MySQL, and SQLite, enabling developers to write database-agnostic code and switch backends with minimal changes.
Includes a test suite that runs against all supported databases via dockerized environments, ensuring adapter reliability and cross-platform consistency as detailed in the README.
Built specifically for Crystal, utilizing its syntax and conventions to provide an intuitive ORM experience that aligns with the language's performance and readability goals.
The project is actively seeking new maintainers, indicating potential instability, slower bug fixes, and delayed updates for future Crystal versions, as noted in the README.
Requires docker configurations or manual database setup for testing, adding overhead compared to simpler ORMs with embedded test databases or mock setups.
Lacks built-in tools for migrations, complex query building, or caching, which are common in more mature ORMs like those in Ruby or Python ecosystems.