Migrasi Skema Database
Manajemen versi skema database, rollback, status migrasi, dan multi-database driver.
Oktober 2026 / v1.1.0Manajemen Migrasi Database
Migrasi adalah kontrol versi untuk struktur database Anda. Melalui migrasi, tim pengembang dapat memodifikasi skema tabel secara aman, konsisten, dan mudah dilacak.
File skema migrasi disimpan di dalam folder lumbung/migrasi/.
1. Membuat File Migrasi Baru
Gunakan perintah CLI untuk menghasilkan cetak biru migrasi baru:
# Dialek Ngapak (Rekomendasi)
ngapakin gawe:migrasi gawe_tabel_produk
# Atau menggunakan alias standar
ngapakin make:migration gawe_tabel_produk
Perintah ini akan membuat file migrasi terstempel waktu, misalnya lumbung/migrasi/2026_10_31_000001_gawe_tabel_produk.ngpk:
# lumbung/migrasi/2026_10_31_000001_gawe_tabel_produk.ngpk
gawe munggah(skema)
skema.gawe("produk", gawe(tabel)
tabel.id()
tabel.teks("nama", 150)
tabel.angka("harga")
tabel.teks("deskripsi").bisa_kosong()
tabel.waktu()
rampung)
rampung
gawe mudhun(skema)
skema.bubar("produk")
rampung
2. Menjalankan Perintah Migrasi
Menjalankan Seluruh Migrasi Tertunda
# Dialek Ngapak Asli
ngapakin migrasi
# Atau: ngapakin munggah
# Alias standar
ngapakin migrate
Memeriksa Status Migrasi
Lihat status eksekusi seluruh migrasi dalam format tabel ringkas:
# Dialek Ngapak
ngapakin migrasi:status
# Alias standar
ngapakin migrate:status
Mengulang Database Bersih (Fresh Reset) & Seeding
Menghapus seluruh tabel dan menjalankan kembali migrasi dari awal (opsional menyertakan --seed untuk langsung mengisi data awal):
# Dialek Ngapak Asli
ngapakin migrasi:anyar
ngapakin migrasi:anyar --seed
# Alias standar
ngapakin migrate:fresh
ngapakin migrate:fresh --seed
Membatalkan (Rollback) Migrasi Terakhir
# Dialek Ngapak Asli
ngapakin mudhun
# Alias standar
ngapakin rollback
Dukungan Multi-Database Driver
Sistem migrasi Larapak secara cerdas menerjemahkan tipe kolom ke dialek database yang aktif pada DB_DRIVER (SQLite, MySQL, PostgreSQL, atau MSSQL) tanpa perlu mengubah kode migrasi Anda.