Kamus

Migration: Bikin Struktur Database Lewat Kode

Kyo · 25 Okt 2026 · 3 mnt baca

Tiap aplikasi web butuh tempat nyimpen data. Nama pengguna, produk, pesanan, semuanya disimpan di database, dalam bentuk tabel-tabel. Nah, pertanyaannya: gimana cara bikin tabel-tabel itu? Cara lama, kamu buka phpMyAdmin, klik sana-sini, bikin tabel satu per satu, tentuin kolomnya manual. Capek, dan gampang lupa. Laravel punya cara yang jauh lebih rapi namanya migration. Yuk kenalan.

Jadi, migration itu apa?

Migration itu file berisi "resep" buat struktur database kamu. Di dalamnya kamu tulis, pakai kode, mau ada tabel apa aja dan kolomnya apa aja. Habis itu kamu jalanin satu perintah, dan Laravel yang bikinin semua tabelnya buat kamu. Jadi bukan kamu yang ngetik-ngetik di phpMyAdmin, tapi kode yang kerja.

Anggap aja kayak cetak biru rumah. Kamu nggak nyusun bata satu-satu sambil nebak-nebak. Kamu bikin gambar rencananya dulu, lalu tukang (dalam hal ini Laravel) yang bangun sesuai gambar itu.

Kenapa nggak bikin tabel manual aja?

Bisa, tapi ada tiga masalah yang bakal bikin kamu nyesel.

Pertama, susah diulang. Misal kamu harus install ulang project di komputer lain, kamu harus inget dan bikin ulang semua tabel dari nol, manual. Dengan migration, cukup satu perintah, semua tabel langsung jadi persis sama.

Kedua, susah dibagi. Kalau kerja bareng teman, kamu nggak mungkin jelasin satu-satu "bikin tabel users, kolomnya ini, tipenya itu" lewat chat. Dengan migration, temanmu tinggal ambil kodemu, jalanin, dan databasenya langsung seragam.

Ketiga, nggak ada jejak. Migration itu file kode, jadi dia bisa dilacak sama Git kayak file lain. Artinya perubahan struktur databasemu punya riwayat, sama kayak kode. Kalau kamu belum paham soal ini, baca dulu catatan soal repository.

Migration itu cetak biru database. Kamu tulis rencananya, Laravel yang bangun.

Bentuk file migration

Tiap file migration punya dua bagian: up dan down. Bagian up isinya "apa yang mau dilakuin" (misal bikin tabel), dan down isinya "cara ngebatalinnya" (misal hapus tabel itu). Kira-kira begini isinya kalau kita mau bikin tabel users:

public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email');
$table->timestamps();
});
}

public function down()
{
Schema::dropIfExists('users');
}

Baca pelan-pelan, sebenarnya kebaca kayak kalimat biasa. "Bikin tabel users, kasih kolom id, kolom name bertipe teks, kolom email bertipe teks, dan timestamps (kolom waktu otomatis)." Nggak seseram kelihatannya, kan?

Perintah yang bakal kamu pakai

Ada tiga yang utama. Semua diawali php artisan, yaitu alat bantu bawaan Laravel.

# Bikin file migration baru
php artisan make:migration create_users_table

# Jalanin semua migration (bikin tabelnya beneran)
php artisan migrate

# Batalin migration terakhir (kalau ada yang salah)
php artisan migrate:rollback

Alurnya: kamu bikin file migration, tulis struktur tabelnya di bagian up, lalu jalanin php artisan migrate. Saat itulah tabelnya beneran kebikin di database.

Terus, hubungannya sama Laravel apa?

Migration itu salah satu fitur inti Laravel yang bakal kamu pakai di hampir tiap project. Tiap kali kamu butuh tabel baru, kamu bikin migration, bukan buka phpMyAdmin. Lama-lama ini jadi kebiasaan, dan kamu bakal bersyukur struktur databasemu kecatet rapi dalam bentuk kode, bukan cuma "ada gitu aja" di database.

Jadi pas nanti kamu lihat perintah php artisan migrate di tutorial, sekarang kamu udah tau: itu lagi bikin tabel database dari resep yang udah kamu tulis.


Segitu dulu soal migration. Inti yang perlu nempel: migration itu cara bikin struktur database lewat kode, biar gampang diulang, dibagi, dan dilacak. Di catatan lain aku bakal bahas istilah-istilah Laravel yang sering nemenin kamu, satu per satu, biar nyantol.

Bagikan: WhatsApp Facebook X Telegram

Baca juga

0 komentar

Jadilah yang pertama berkomentar.

Tinggalkan komentar

Komentar ditinjau dulu sebelum tampil.