CLI e biblioteca Go para gerenciar alterações no schema do banco de dados com arquivos SQL versionados ou funções Go.
sqlc-dev/sqlc
Um compilador SQL que lê suas consultas e gera código type-safe em Go, Kotlin, Python e TypeScript.
- Estrelas
- 18,401
- Forks
- 1,102
- Issues abertas
- 695
- Último commit
- há 22 horas
O que é?
sqlc transforma consultas SQL em código de aplicação type-safe. Você escreve as consultas em SQL, executa o sqlc e ele gera funções com entradas e saídas tipadas, chamadas diretamente pela aplicação, em vez de montar consultas com um ORM ou concatenação de strings.
A ferramenta usa seu schema SQL e suas consultas como base, então o código gerado reflete a estrutura real do banco de dados. Os geradores oficiais oferecem suporte a Go, Kotlin, Python e TypeScript, e é possível adicionar outras linguagens por meio de plugins. O projeto também oferece um playground online para testar consultas antes de instalar a ferramenta.
sqlc é escrito em Go e distribuído sob a licença MIT. A lista de tópicos do projeto cita PostgreSQL, MySQL e SQLite como bancos de dados compatíveis.
Recursos principais
- 01Gera funções tipadas em Go, Kotlin, Python e TypeScript a partir de consultas SQL
- 02Usa seu schema SQL como base para que o código gerado corresponda à estrutura do banco de dados
- 03Pode ser estendido com plugins de linguagens criados pela comunidade
- 04Inclui um playground online para testar consultas
Casos de uso
- Desenvolver serviços em Go que se conectam ao PostgreSQL ou MySQL sem usar um ORM
- Manter o código de acesso ao banco de dados com tipos verificados em relação ao schema
- Gerar camadas de acesso a dados para backends em Python ou TypeScript
Tópicos
Perguntas frequentes
- O que é sqlc?
- Um compilador SQL que lê suas consultas e gera código type-safe em Go, Kotlin, Python e TypeScript. sqlc transforma consultas SQL em código de aplicação type-safe. Você escreve as consultas em SQL, executa o sqlc e ele gera funções com entradas e saídas tipadas, chamadas diretamente pela aplicação, em vez de montar consultas com um ORM ou concatenação de strings.
- sqlc é gratuito? Qual é a licença?
- sqlc é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- sqlc ainda é mantido?
- Manutenção ativa. O último commit de sqlc foi em 21 de out. de 2026.
- Para que posso usar sqlc?
- Desenvolver serviços em Go que se conectam ao PostgreSQL ou MySQL sem usar um ORM Manter o código de acesso ao banco de dados com tipos verificados em relação ao schema Gerar camadas de acesso a dados para backends em Python ou TypeScript
- Onde consigo sqlc?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/sqlc-dev/sqlc
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma ferramenta de linha de comando leve e independente de frameworks para gerenciar migrações de banco de dados em SQL puro entre equipes e ambientes.
ORM headless e leve para TypeScript, compatível com PostgreSQL, MySQL e SQLite em Node.js, Bun, Deno e runtimes edge.
ORM baseado em promises para Node.js e TypeScript, compatível com PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle e Db2.
Editor SQL e gerenciador de bancos de dados multiplataforma para Linux, macOS e Windows, com suporte a MySQL, PostgreSQL, SQLite, SQL Server e muitos outros.
Ferramenta de migração de bancos de dados escrita em Go, com CLI e biblioteca para aplicar alterações de schema em ordem em vários bancos.