sqlc (sqlc-dev/sqlc)
Searching Database…
Что это такое?
sqlc — это компилятор SQL: вы пишете запросы на обычном SQL, а он генерирует типобезопасный код с интерфейсами к этим запросам, который вызывает ваше приложение.
Чем это отличается от ORM?
Вы продолжаете писать настоящий SQL — sqlc компилирует эти запросы в типобезопасный код, который вызывает ваше приложение, а не заставляет вас вручную поддерживать сопоставление таблиц с объектами.
С чего начать работу с ним?
Установите бинарник sqlc, запишите свои запросы в SQL-файлы, запустите sqlc для генерации кода, а затем вызывайте сгенерированные функции из своего приложения.
Для каких языков он умеет генерировать код?
Go, Kotlin, Python и TypeScript — через официальные плагины sqlc-gen, а другие языки можно добавить через систему плагинов.
Он будет работать на Windows, macOS и Linux?
Да — sqlc это один инструмент на Go, который распространяется через страницу загрузок, а Go нативно собирается под Windows, macOS и Linux.
Зачем компилировать SQL в код вместо того, чтобы использовать ORM?
В README для этого есть ссылка на вводную статью в блоге; суть в том, что ваш SQL остаётся единственным источником истины, а вызывающий его код генерируется и типобезопасен.
sqlc бесплатный?
Да — это open source под лицензией MIT, а разработка поддерживается через GitHub Sponsors.
sqlc трогает мою базу данных во время работы?
Нет — это инструмент времени сборки: вы запускаете его, чтобы сгенерировать код, а во время работы приложение просто вызывает сгенерированные функции, как любой другой код в проекте.
Which topics is it in?
orm, code-generation, compiler, kotlin, mysql, sql, sqlite, postgresql, database, go, tool, typescript


