CLI y biblioteca de Go para gestionar cambios en el esquema de bases de datos mediante archivos SQL versionados o funciones de Go.
sqlc-dev/sqlc
Un compilador de SQL que lee tus consultas y genera código con tipos seguros para Go, Kotlin, Python y TypeScript.
- Estrellas
- 18,401
- Forks
- 1,102
- Issues abiertos
- 695
- Último commit
- hace 22 horas
¿Qué es?
sqlc convierte consultas SQL en código de aplicación con tipos seguros. Escribes las consultas en SQL, ejecutas sqlc y genera funciones con entradas y salidas tipadas que tu aplicación invoca directamente, en lugar de crear consultas con un ORM o concatenando cadenas.
La herramienta parte de tu esquema y tus consultas SQL, por lo que el código generado refleja la estructura real de la base de datos. Los generadores oficiales admiten Go, Kotlin, Python y TypeScript, y puedes añadir otros lenguajes mediante plugins. El proyecto también ofrece un playground en línea para probar consultas antes de instalarlo.
sqlc está escrito en Go y se distribuye bajo la licencia MIT. En la lista de temas del proyecto aparecen PostgreSQL, MySQL y SQLite como bases de datos compatibles.
Funciones clave
- 01Genera funciones tipadas para Go, Kotlin, Python y TypeScript a partir de consultas SQL
- 02Parte de tu esquema SQL para que el código generado coincida con la estructura de la base de datos
- 03Se puede ampliar con plugins comunitarios para otros lenguajes
- 04Incluye un playground en línea para probar consultas
Casos de uso
- Crear servicios en Go que se conecten a PostgreSQL o MySQL sin usar un ORM
- Mantener el código de acceso a la base de datos verificado por tipos según el esquema
- Generar capas de acceso a datos para backends de Python o TypeScript
Temas
Preguntas frecuentes
- ¿Qué es sqlc?
- Un compilador de SQL que lee tus consultas y genera código con tipos seguros para Go, Kotlin, Python y TypeScript. sqlc convierte consultas SQL en código de aplicación con tipos seguros. Escribes las consultas en SQL, ejecutas sqlc y genera funciones con entradas y salidas tipadas que tu aplicación invoca directamente, en lugar de crear consultas con un ORM o concatenando cadenas.
- ¿sqlc es gratuito? ¿Qué licencia tiene?
- sqlc es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿sqlc sigue mantenido?
- Mantenimiento activo. El último commit de sqlc fue el 21 oct 2026.
- ¿Para qué puedo usar sqlc?
- Crear servicios en Go que se conecten a PostgreSQL o MySQL sin usar un ORM Mantener el código de acceso a la base de datos verificado por tipos según el esquema Generar capas de acceso a datos para backends de Python o TypeScript
- ¿Dónde consigo sqlc?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/sqlc-dev/sqlc
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Herramienta ligera de línea de comandos, independiente del framework, para gestionar migraciones de bases de datos en SQL entre equipos y entornos.
Un ORM headless y ligero para TypeScript compatible con PostgreSQL, MySQL y SQLite, que funciona en Node.js, Bun, Deno y entornos edge.
Un ORM basado en promesas para Node.js y TypeScript, compatible con PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle y Db2.
Editor SQL y gestor de bases de datos multiplataforma para Linux, macOS y Windows, compatible con MySQL, PostgreSQL, SQLite, SQL Server y muchos más.
Herramienta de migraciones de bases de datos escrita en Go, con CLI y biblioteca para aplicar cambios de esquema ordenados en numerosas bases de datos.