A lightweight SQL DSL and ORM for Go that generates code from your database and enables elegant SQL query writing.
sqlingo is a lightweight SQL DSL and ORM library for Go that generates code from your database schema, allowing developers to write SQL queries in a type-safe, elegant way. It solves the problem of manual synchronization between Go code and database structures while providing compile-time error detection and IDE-friendly features.
Go developers working with SQL databases who want type-safe query building, reduced runtime errors, and better IDE integration without sacrificing SQL expressiveness.
Developers choose sqlingo because it generates code directly from the database, ensuring models stay synchronized automatically, provides compile-time error checking for SQL queries, and offers an elegant, expressive API with full IDE autocompletion support.
💥 A lightweight DSL & ORM which helps you to write SQL in Go.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates Go structs and DSL objects directly from the database schema, eliminating manual synchronization and enabling compile-time checks for SQL queries.
Catches common SQL errors during compilation, reducing runtime failures and improving code reliability, as highlighted in the README.
Enables autocompletion, field suggestions, and usage tracking in editors, enhancing developer productivity with features demonstrated in the demo GIF.
Supports SELECT, INSERT, UPDATE, DELETE with advanced syntax, subqueries, and transactions, providing a robust API for complex queries.
Only MySQL has stable support; PostgreSQL and SQLite are experimental, which restricts its use in production environments with those databases.
Requires a separate generation step before building, adding complexity to development workflows and CI/CD pipelines, as shown in the tutorial.
Support for PostgreSQL and SQLite is explicitly marked as experimental in the README, implying potential bugs or incomplete functionality.