; Memahami Migration dan Hubungannya dengan Tabel Database - Blog Rudi Kurniawan

Blog Laravel Indonesia

Belajar Laravel dengan Mudah dan Menyenangkan

Memahami Migration dan Hubungannya dengan Tabel Database
26-06-2025 | Admin User Web Development 24 x dilihat

Memahami Migration dan Hubungannya dengan Tabel Database

Apa Itu Migration di Laravel?

Migration di Laravel adalah cara untuk mengelola struktur database, seperti membuat, mengubah, atau menghapus tabel, tanpa perlu menulis perintah SQL secara manual. Anggaplah migration seperti "cetak biru" atau versi kontrol untuk database kamu. Dengan migration, kamu bisa membuat tabel, menambah kolom, atau mengubah struktur database dengan kode PHP yang terorganisir.

Hubungan Migration dengan Tabel Database

Migration adalah perintah yang diterjemahkan ke dalam perintah SQL untuk membuat atau mengubah tabel di database. Misalnya, jika kamu ingin membuat tabel users dengan kolom name dan email, migration akan menghasilkan perintah SQL seperti CREATE TABLE users (name VARCHAR, email VARCHAR). Dengan migration, kamu tidak perlu menulis SQL langsung, sehingga lebih mudah dan aman.
 

Tutorial Membuat Migration Sederhana

Berikut langkah-langkah membuat migration untuk tabel posts yang berisi kolom title dan content.

Persiapan

Pastikan kamu sudah:

  • Menginstal Laravel dan Composer.

  • Mengatur koneksi database di file .env (misalnya, menggunakan MySQL, SQLite, atau PostgreSQL).

  • Menjalankan php artisan serve untuk memastikan proyek Laravel aktif.

Langkah-Langkah

  1. Buat File Migration
    Buka terminal di folder proyek Laravel kamu dan jalankan perintah berikut:

    php artisan make:migration create_posts_table

    Perintah ini akan membuat file migration baru di folder database/migrations dengan nama seperti 2025_06_26_XXXXXX_create_posts_table.php.

  2. Edit File Migration
    Buka file migration yang baru dibuat di database/migrations. File ini berisi dua metode: up() untuk membuat tabel dan down() untuk menghapus tabel. Edit metode up() seperti berikut:

    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;
    
    class CreatePostsTable extends Migration
    {
        public function up()
        {
            Schema::create('posts', function (Blueprint $table) {
                $table->id();
                $table->string('title');
                $table->text('content');
                $table->timestamps();
            });
        }
    
        public function down()
        {
            Schema::dropIfExists('posts');
        }
    }

    Penjelasan:

    • $table->id(): Membuat kolom id sebagai primary key.

    • $table->string('title'): Membuat kolom title untuk teks pendek (misalnya, judul postingan).

    • $table->text('content'): Membuat kolom content untuk teks panjang (isi postingan).

    • $table->timestamps(): Menambahkan kolom created_at dan updated_at untuk mencatat waktu pembuatan dan pembaruan.

  3. Jalankan Migration
    Kembali ke terminal dan jalankan perintah berikut untuk menerapkan migration ke database:

    php artisan migrate

    Perintah ini akan membuat tabel posts di database kamu sesuai struktur yang didefinisikan.

  4. Cek Hasilnya
    Buka database kamu (misalnya, menggunakan phpMyAdmin atau perangkat lunak seperti TablePlus) untuk memastikan tabel posts sudah dibuat dengan kolom id, title, content, created_at, dan updated_at.

  5. Mengembalikan Migration (Opsional)
    Jika ingin menghapus tabel (rollback), jalankan:

    php artisan migrate:rollback

    Ini akan menjalankan metode down() untuk menghapus tabel posts.

Mengapa Migration Penting?

  • Konsistensi: Migration memastikan struktur database sama di semua lingkungan (lokal, staging, produksi).

  • Kemudahan: Kamu tidak perlu menulis SQL manual, cukup gunakan sintaks PHP yang sederhana.

  • Versi Kontrol: Migration memungkinkan kamu melacak perubahan struktur database, seperti menambah atau menghapus kolom.

  • Kolaborasi: Tim developer bisa berbagi migration untuk menjaga sinkronisasi database.

Langkah Selanjutnya

Setelah membuat tabel dengan migration, kamu bisa:

  • Membuat model dengan php artisan make:model Post untuk berinteraksi dengan tabel posts.

  • Menambahkan data ke tabel menggunakan Eloquent ORM.

  • Membaca dokumentasi resmi di laravel.com/docs/migrations untuk fitur migration lainnya, seperti menambah kolom atau indeks.

Selamat! Kamu sudah memahami dasar migration dan berhasil membuat tabel di database menggunakan Laravel!

Share this

Facebook Whatsapp