;
Belajar Laravel dengan Mudah dan Menyenangkan
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.
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.
Berikut langkah-langkah membuat migration untuk tabel posts yang berisi kolom title dan content.
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.
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.
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.
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.
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.
Mengembalikan Migration (Opsional)
Jika ingin menghapus tabel (rollback), jalankan:
php artisan migrate:rollback
Ini akan menjalankan metode down() untuk menghapus tabel posts.
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.
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!