← Back to list

konfigurasi dan set up sqlc dengan go dan postgres

Sqlc adalah alat yang digunakan untuk menghasilkan kode Go untuk tipe dari kueri SQL. sqlc akan bekerja dengan cara mengambil kueri SQL…

Tiara Juli arsita · 2024-07-17 06:48 · 0 claps · 1.9 min read
#golang-tutorial #sqlc #postgresql #tutorial #programming
Open on Medium ↗
Wiki topics: 💻 · Programming

konfigurasi dan set up sqlc dengan go dan postgres

Sqlc adalah alat yang digunakan untuk menghasilkan kode Go untuk tipe dari kueri SQL. sqlc akan bekerja dengan cara mengambil kueri SQL yang Anda tulis, kemudian menghasilkan kode Go yang menyediakan interfaceuntuk kueri-kueri tersebut. ini akan menghilangkan kebutuhan untuk menulis kode untuk kueri SQL secara manual.

kamu dapat melakukannya dengan mudah, pertama kamu dapat install sqlc sesuai sistem operasi yang kamu gunakan, kali ini saya menggunakan windows 11, dan pastikan dilaptop kamu udah terinstal GO ya, jika belum ada kamu dapat meninstallnya terlebih dahulu.

  1. install sqlc
go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest

untuk sistem operasi yang lain kamu dapat melihat pada :

[embed]Installing sqlc - sqlc 1.26.0 documentationdocs.sqlc.dev

  1. Membuat Project

buatlah project “sqlc-tutor”, lakukan initialisasi pada project

go mod init sqlc-tutor

kalau udah kamu tiggal membuat file yaml ya, disini aku membuat file sqlc.yaml, yang berisi konfigurasi untuk sqlc

version: "2"
sql:
  - engine: "postgresql"
    queries: "/db/query.sql"
    schema: "/db/schema.sql"
    gen:
      go:
        package: "products"
        out: "/db/products"

oke lanjut, setelah itu kamu dapat membuat folder db dan membuat file schema.sql dalam folder tersebut sehingga db/schema.sql :

CREATE TABLE authors (
  id   BIGSERIAL PRIMARY KEY,
  name text      NOT NULL,
  bio  text
);

dalam file tersebut kamu dapat menuliskan schema database mu, apakah membuat table, update tabel dan sebagainya

yey keren kamu sudah sejauh ini!. oke lanjut ya

selanjutnya kamu perlu membuat filequery.sql didalam folder db

-- name: GetAuthor :one
SELECT * FROM authors
WHERE id = $1 LIMIT 1;

-- name: ListAuthors :many
SELECT * FROM authors
ORDER BY name;

kamu bisa menambahkan kueri lain tergantung kebutuhan kamu yaa.

  1. Menjalankan sqlc

untuk menjalankan sqlc, kamu dapat menjalankan perinta

sqlc generate

maka semua kueri yang sudah kamu tuliskan pada kuery.sqlakan digenerate.

  1. Menjalankan Program

Buatlah file main pada root utama untuk menjalankan program,

sebelumnya kamu harus memliki koneksi ke database postgres

package main

import (
 "context"
 "database/sql"
 "fmt"
 "log"
 "test-fiber/db/products"

 _ "github.com/lib/pq"
)

func main() {

//db connection
 connectionStr := "postgres://postgres:postgres@localhost:5432/abc?sslmode=disable"

 conn, err := sql.Open("postgres", connectionStr)
 if err != nil {
  log.Fatal(err)
 }

 log.Println("db is connecting")

 defer conn.Close()
 ctx := context.Background()
 queries := products.New(conn)

//penggunaan kueri
 author, err := queries.GetAuthor(ctx, 1)
 if err != nil {
  log.Fatal(err)
 }

 fmt.Println("result :", author)

}

jalan kan program dengan

go run main.go

maka program akan menampilkan

result

result

nah gampang banget kan teman teman. oh iya jadi struktur akhir folder akan sepert ini ya

table structure

table structure

references :

https://sqlc.dev/

[embed]SQLC DOCUMENTATION Compile SQL to type-safe codesqlc.dev


메타데이터
post_id
6a613df0b4ad
slug
konfigurasi-dan-set-up-sqlc-dengan-go-dan-postgres-6a613df0b4ad
url
https://medium.com/@tiarajuliarsita/konfigurasi-dan-set-up-sqlc-dengan-go-dan-postgres-6a613df0b4ad
canonical_url
https://medium.com/@tiarajuliarsita/konfigurasi-dan-set-up-sqlc-dengan-go-dan-postgres-6a613df0b4ad
author_url
https://medium.com/@tiarajuliarsita
status
ok
fetched_at
2026-07-23 09:10:31