SQLite3 database driver for the Crystal programming language, providing native bindings and full database API support.
crystal-sqlite3 is the official SQLite3 database driver for the Crystal programming language. It provides native bindings to the SQLite3 C library and implements the crystal-db API specification, allowing Crystal developers to work with SQLite databases using Crystal's type system and standard database interface. The library handles type conversions, connection management, and SQLite-specific features while maintaining compatibility with Crystal's database ecosystem.
Crystal developers who need to integrate SQLite databases into their applications, particularly those building desktop applications, embedded systems, or development tools that benefit from SQLite's file-based, serverless architecture.
As the official SQLite3 driver for Crystal, it offers reliable, maintained bindings with full compatibility to the crystal-db API, proper type mappings between SQLite and Crystal types, and support for SQLite-specific features like PRAGMA configuration through connection URIs.
SQLite3 bindings for Crystal
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
As the official SQLite driver, it guarantees compatibility with Crystal's ecosystem and long-term maintenance, reducing dependency risks.
Provides automatic mappings between SQLite and Crystal types like Time, Bool, and Int32, minimizing manual conversion code and errors.
Supports setting SQLite pragmas like journal_mode and foreign_keys directly in the connection string, simplifying optimization without extra queries.
Implements the standard crystal-db interface, allowing developers to use consistent database patterns across different drivers in Crystal.
The README explicitly states that PRAGMA values are passed directly to SQLite without checks, leading to potential silent failures if misconfigured.
Focuses on core driver functionality without built-in ORM, schema migration tools, or connection pooling, requiring additional libraries for complex use cases.
May require manual compilation or linking of SQLite, as indicated in the 'Compile and link SQLite' guide, adding setup complexity compared to bundled drivers.