Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Membuat Migration Database di Golang

Posted on April 08, 2020 by Syauqi Wiryahasana
Pada kesempatan tutorial kali ini, kita akan membuat modul untuk migration database di Golang. Modul ini tergolong vital untuk sebuah aplikasi yang dikatakan 'komplet', dan tujuan utamanya tentu adalah kemudahan proses 'deployment' ke depan. Yang akan kita pakai pada tutorial kali ini adalah library SQL-migrate dari om Rubenv. Dengan fitur-fitur utamanya adalah:
  • Usable as a CLI tool or as a library
  • Supports SQLite, PostgreSQL, MySQL, MSSQL and Oracle databases (through gorp)
  • Can embed migrations into your application
  • Migrations are defined with SQL for full flexibility
  • Atomic migrations
  • Up/down migrations to allow rollback
  • Supports multiple database types in one project
  • Works great with other libraries such as sqlx

Cara Instalasi

Untuk instalasi, bisa menggunakan perintah go get:
go get -v github.com/rubenv/sql-migrate/...
kemudian tunggu proses instalasi selesai. Gunakan sql-migrate ini dari command line:
$ sql-migrate --help
usage: sql-migrate [--version] [--help]  []

Available commands are:
    down      Undo a database migration
    new       Create a new migration
    redo      Reapply the last migration
    status    Show migration status
    up        Migrates the database to the most recent version available

tool sql-migrate membutuhkan file dbconfig.yml. Contoh file YAML: [sourcecode] postgres: dialect: postgres datasource: dbname=test sslmode=disable dir: test-migrations mysql: dialect: mysql datasource: root@/test?parseTime=true dir: test-migrations mysql_noflag: dialect: mysql datasource: root@/test dir: test-migrations mysql_env: dialect: mysql datasource: ${MYSQL_USER}:${MYSQL_PASSWORD}@tcp(${MYSQL_HOST}:${MYSQL_PORT})/${DATABASE_NAME}?parseTime=true dir: test-migrations sqlite: dialect: sqlite3 datasource: test.db dir: test-migrations table: migrations [/sourcecode] untuk menggunakannya, ya tinggal sql-migrate up. Silakan baca lebih lanjut disini https://github.com/rubenv/sql-migrate
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically