Migration: Bikin Struktur Database Lewat Kode
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:
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.
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.
Baca juga
0 komentar
Jadilah yang pertama berkomentar.