Loa ding
FLASH SALE!!! Tools Kalkulator Gym, hanya 5k dengan kode ADS5K.
Selengkapnya
Pemrograman

Laravel: Jangan Backfill Tabel Besar di Dalam Migration

A 2 menit baca 2 0
Laravel: Jangan Backfill Tabel Besar di Dalam Migration
Ilustrasi pengembangan aplikasi Laravel dan perubahan skema database

Satu tulisan di Medium mengingatkan developer Laravel untuk tidak melakukan backfill data pada tabel besar langsung di dalam migration. Untuk perubahan skema yang harus tetap aman saat beberapa versi aplikasi berjalan bersamaan, penulisnya menawarkan pola empat fase: expand, dual-write, restartable backfill, dan contract.

Empat fase untuk backfill Laravel yang lebih aman

Sumbernya hanya memuat ringkasan singkat, jadi detail teknisnya ada di artikel lengkap di Medium. Dari ringkasan itu, berikut gambaran umum tiap fase:

Iklan
  • Expand: tambahkan struktur baru, misalnya kolom atau tabel, tanpa membuang yang lama. Versi aplikasi lama tetap bisa jalan.
  • Dual-write: aplikasi menulis ke struktur lama dan baru sekaligus, sehingga data baru tidak tertinggal.
  • Restartable backfill: data lama dipindahkan ke struktur baru secara bertahap. Prosesnya bisa dihentikan lalu dilanjutkan tanpa mengulang dari awal.
  • Contract: setelah semuanya selesai, struktur lama dibuang.

Kenapa tidak di dalam migration? Migration biasanya berjalan saat proses deploy. Kalau tabelnya besar, pekerjaan berat di dalamnya bisa menahan seluruh rilis. Pemisahan fase seperti di atas membuat backfill berjalan sebagai proses tersendiri yang bisa dipantau dan diulang.

Poin yang paling menarik ada pada kalimat soal mixed application versions. Saat deploy berlangsung, versi lama dan baru dari aplikasimu bisa hidup berdampingan untuk sementara. Skema database harus tetap cocok dengan keduanya, dan itulah alasan perubahan dibagi bertahap, bukan sekali ubah.

Buat kamu yang mengelola aplikasi Laravel dengan tabel berisi data bertahun-tahun, misalnya pesanan atau transaksi, pola ini layak dipelajari sebelum menjadwalkan perubahan skema berikutnya. Kamu bisa membaca versi lengkapnya di Medium untuk melihat detail penerapannya.

Iklan
Kategori Pemrograman
Bagikan
A

Ditulis oleh

Andreas Budi Ekayana

Andreas Budi Ekayana adalah pendiri AndreDEV Studio, studio pengembangan digital di Bandung yang berdiri sejak 2011. Berbekal pengalaman lebih dari satu dekade sebagai developer dan desainer, Andreas menulis seputar tekn...

Lihat artikel lainnya

Komentar 0

Belum ada komentar. Jadilah yang pertama berbagi pendapat.

Tulis komentar

Komentar dimoderasi otomatis. Mohon gunakan bahasa yang sopan. 0 / 1500