CLI и библиотека Go для управления изменениями схемы БД с помощью версионируемых SQL-файлов или Go-функций.
sqlc-dev/sqlc
SQL-компилятор, который читает ваши SQL-запросы и генерирует для них типобезопасный код на Go, Kotlin, Python и TypeScript.
- Звёзды
- 18,401
- Форки
- 1,102
- Открытые issues
- 695
- Последний коммит
- 23 часа назад
Что это?
sqlc преобразует SQL-запросы в типобезопасный код приложения. Вы пишете запросы на SQL, запускаете sqlc, и он генерирует функции с типизированными входными и выходными данными, которые приложение вызывает напрямую. Это избавляет от необходимости собирать запросы с помощью ORM или конкатенации строк.
Инструмент использует схему базы данных и SQL-запросы, поэтому сгенерированный код соответствует её фактической структуре. Встроенные генераторы поддерживают Go, Kotlin, Python и TypeScript, а добавлять поддержку других языков можно с помощью плагинов. Кроме того, проект предлагает онлайн-песочницу, где можно опробовать запросы до установки.
sqlc написан на Go и распространяется по лицензии MIT. В списке тем проекта указаны PostgreSQL, MySQL и SQLite как поддерживаемые целевые СУБД.
Ключевые возможности
- 01Генерирует типизированные функции на Go, Kotlin, Python и TypeScript из SQL-запросов
- 02Использует вашу SQL-схему, чтобы сгенерированный код соответствовал структуре базы данных
- 03Поддерживает расширение с помощью языковых плагинов сообщества
- 04Предоставляет онлайн-песочницу для проверки запросов
Сценарии использования
- Разработка сервисов на Go для работы с PostgreSQL или MySQL без ORM
- Проверка типизации кода доступа к базе данных на соответствие схеме
- Генерация слоёв доступа к данным для бэкендов на Python или TypeScript
Быстрый старт
- 1
Установите sqlc с помощью Go, используя команду установки из README
- 2
Ознакомьтесь с официальным руководством по установке, чтобы узнать о других способах
- 3
Попробуйте интерактивную площадку, чтобы увидеть sqlc в действии
Темы
Частые вопросы
- Что такое sqlc?
- SQL-компилятор, который читает ваши SQL-запросы и генерирует для них типобезопасный код на Go, Kotlin, Python и TypeScript. sqlc преобразует SQL-запросы в типобезопасный код приложения. Вы пишете запросы на SQL, запускаете sqlc, и он генерирует функции с типизированными входными и выходными данными, которые приложение вызывает напрямую. Это избавляет от необходимости собирать запросы с помощью ORM или конкатенации строк.
- sqlc можно использовать бесплатно? Какая у него лицензия?
- sqlc распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- sqlc всё ещё поддерживается?
- Активно поддерживается. Последний коммит в sqlc — 21 окт. 2026 г..
- Для чего можно использовать sqlc?
- Разработка сервисов на Go для работы с PostgreSQL или MySQL без ORM Проверка типизации кода доступа к базе данных на соответствие схеме Генерация слоёв доступа к данным для бэкендов на Python или TypeScript
- Как установить sqlc?
- Установите sqlc с помощью Go, используя команду установки из README Ознакомьтесь с официальным руководством по установке, чтобы узнать о других способах Попробуйте интерактивную площадку, чтобы увидеть sqlc в действии
- Где скачать sqlc?
- Исходный код и инструкции по установке — на GitHub: https://github.com/sqlc-dev/sqlc
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Лёгкий инструмент командной строки для управления миграциями баз данных на чистом SQL — без привязки к фреймворку.
Лёгкая ORM без лишних абстракций для TypeScript, поддерживающая PostgreSQL, MySQL и SQLite в Node.js, Bun, Deno и edge-средах.
ORM для Node.js и TypeScript на основе промисов, поддерживающая PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle и Db2.
Кроссплатформенный SQL-редактор и менеджер баз данных для Linux, macOS и Windows с поддержкой MySQL, PostgreSQL, SQLite, SQL Server и других СУБД.
Инструмент миграции баз данных на Go с CLI и библиотекой для применения упорядоченных изменений схемы в разных СУБД.