BLANTERORIONv101

Tutorial Laravel Migration & Eloquent: Kelola Database Tanpa SQL

19 Desember 2025

Tutorial Laravel Migration & Eloquent: Kelola Database Tanpa SQL

Migration dan Eloquent: Mengelola Database dengan Gaya Modern

Setelah memahami Routing dan Controller, langkah krusial selanjutnya adalah mengelola data. Laravel menawarkan dua fitur unggulan, yaitu Migration dan Eloquent ORM, yang memungkinkan Anda bekerja dengan database tanpa harus menyentuh sintaks SQL manual.

1. Migration: Version Control untuk Database

Migration adalah seperti Git untuk database Anda. Alih-alih berbagi file dump SQL, tim pengembang cukup berbagi file migration untuk menyamakan struktur tabel. File rujukan ini berada di folder database/migrations.

Untuk membuat tabel baru, misalnya tabel "produk", gunakan perintah berikut:


php artisan make:migration create_produks_table

Di dalam file yang dihasilkan, Anda cukup menentukan kolom-kolomnya menggunakan kode PHP:


public function up()
{
    Schema::create('produks', function (Blueprint $table) {
        $table->id();
        $table->string('nama_produk');
        $table->integer('harga');
        $table->timestamps();
    });
}

Setelah itu, jalankan perintah php artisan migrate untuk mengeksekusi perubahan ke database.

2. Eloquent ORM: Manipulasi Data Menjadi Objek

Eloquent adalah Object-Relational Mapper (ORM) bawaan Laravel. Dengan Eloquent, setiap tabel database memiliki sebuah Model yang digunakan untuk berinteraksi dengan tabel tersebut.

Buat model dengan perintah:


php artisan make:model Produk

Sekarang, Anda bisa mengambil atau menambah data dengan sintaks yang sangat manusiawi di dalam Controller:


// Mengambil semua data produk
$produk = Produk::all();

// Menambah data produk baru
Produk::create([
    'nama_produk' => 'Laptop Gaming',
    'harga' => 15000000
]);

Kesimpulan

Kombinasi antara Migration dan Eloquent membuat pengembangan aplikasi menjadi sangat cepat dan aman. Anda tidak perlu khawatir tentang perbedaan sintaks antar database (seperti MySQL ke PostgreSQL) karena Laravel yang akan menanganinya untuk Anda.

Komentar