sqlc vs Swagger Codegen
sqlc
sqlc.devSwagger Codegen
swagger.ioSide by side
| Figure | sqlc | Swagger Codegen |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 2 |
| Spec score · Code Generators | 7.6 (#23) | 8.3 (#9) |
| Company | The maker says it incorporated Riza in 2023 to work on sqlc full-time. | Swagger is presented as supported by SmartBear, which says it was founded in 2003 and lists its global headquarters in Somerville, Massachusetts. |
| Purpose | sqlc generates fully type-safe, idiomatic code from SQL queries. | Swagger Codegen generates API client libraries, server stubs, and documentation from OpenAPI specifications. |
Plans
In their own words
sqlc
sqlc is a free command-line tool that turns SQL queries into type-safe application code. You write queries, run sqlc, and call the generated methods from application code through type-safe interfaces. Its documented database matrix covers MySQL, PostgreSQL, and SQLite. Official generators are available for Go, Kotlin, Python, and TypeScript; Go is stable, while Kotlin, Python, and TypeScript are marked beta for MySQL and PostgreSQL. Plugins allow additional languages, with community plugins listed for C#, F#, Java, PHP, Ruby, Zig, Python, and Rust. The sqlc vet command checks queries against configured rules, and sqlc verify checks whether schema changes break existing queries and generated code. Installation options include prebuilt Linux, macOS, and Windows downloads, package managers, Go, and Docker. sqlc Cloud can create short-lived hosted databases for analysis and linting, with managed databases described as read-only.
Swagger Codegen
Swagger Codegen is an open-source tool that generates API client libraries, server stubs and documentation from OpenAPI specifications. Its template-driven engine parses OpenAPI or Swagger definitions and produces project code from schemas. Swagger states that it can generate client SDKs in over 40 languages and server boilerplate in over 20. Listed capabilities include OpenAPI import, schema-to-code generation, project scaffolding, custom templates, an interactive API reference, code samples and a command-line interface. Outputs and integrations include HTML and Confluence Wiki documentation, Apache2 configuration files and JMeter. The project is available from GitHub under the Apache-2.0 license, with a hosted option through SwaggerHub. SwaggerHub can generate code in a selected language and push it to source-control repositories. Supported client targets include C#, Dart, Go, Java, JavaScript, Kotlin, PHP, Python, R, Ruby, Scala, Swift and TypeScript variants. Server targets include ASP.NET Core, Go, Java Vert.x and JAX-RS options. The repository warns that untrusted descriptions may cause code injection.