Skip to content

devlibx/sqlc

 
 

Repository files navigation

sqlc: A SQL Compiler

go Go Report Card

sqlc generates type-safe code from SQL. Here's how it works:

  1. You write queries in SQL.
  2. You run sqlc to generate code with type-safe interfaces to those queries.
  3. You write application code that calls the generated code.

Check out an interactive example to see it in action, and the introductory blog post for the motivation behind sqlc.

Overview

Delta on top of main sqlc

Added support for enable_open_tracing which adds open tracing to the generated code.

span, ctx := opentracing.StartSpanFromContext(ctx, "MethodName")
defer span.Finish()
version: "2"
sql:
  - engine: "mysql"
    queries: "query.sql"
    schema: "schema.sql"
    gen:
      go:
        emit_prepared_queries: true
        emit_interface: true
        enable_open_tracing: true
        emit_exact_table_names: false
        emit_empty_slices: true
        emit_json_tags: true
        package: "authors"
        out: "./authors"

Supported languages

Additional languages can be added via plugins.

Acknowledgments

sqlc was inspired by PugSQL and HugSQL.

About

Generate type-safe code from SQL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 96.6%
  • ANTLR 3.1%
  • Other 0.3%