Pengenalan Migration


Apa itu Migration?

Migration adalah fitur di Laravel yang memungkinkan Anda untuk mengelola skema database dengan cara yang version-controlled. Migration berfungsi sebagai kontrol versi untuk database Anda, memungkinkan Anda untuk membuat perubahan skema database dengan aman dan sederhana.

Kenapa Menggunakan Migration?

  1. Kontrol Versi: Seperti halnya dengan proyek kode, Anda dapat melacak perubahan pada skema database.
  2. Tim Kerja: Migration memudahkan kolaborasi antara tim, karena setiap anggota tim dapat melihat dan menerapkan perubahan yang sama.
  3. Rollback: Anda dapat dengan mudah membatalkan perubahan dengan rollback.

Cara Membuat Migration

Untuk membuat migration baru, Anda dapat menggunakan artisan command di terminal:

php artisan make:migration create_posts_table

Perintah di atas akan membuat file migration baru di dalam direktori database/migrations. Nama file akan memiliki timestamp yang unik.

Struktur File Migration

Setelah migration dibuat, Anda akan melihat struktur dasar file berikut:

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatePostsTable extends Migration
{
    /**
     * Jalankan migrasi.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('body');
            $table->timestamps();
        });
    }

    /**
     * Hapus migrasi.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Penjelasan

  • up: Method ini digunakan untuk mendefinisikan apa yang akan dilakukan ketika migration dijalankan, seperti membuat tabel dan kolom.
  • down: Method ini digunakan untuk membatalkan perubahan yang dilakukan di method up, seperti menghapus tabel.

Menjalankan Migration

Setelah Anda membuat migration, Anda dapat menjalankannya dengan perintah:

php artisan migrate

Perintah ini akan mengeksekusi semua migration yang belum dijalankan dan memperbarui skema database Anda.

Rollback Migration

Jika Anda ingin membatalkan migration yang baru saja dilakukan, Anda bisa menggunakan perintah:

php artisan migrate:rollback

Ini akan memanggil method down dari migration terbaru yang dijalankan.

Kesimpulan

Migration adalah alat yang sangat berguna dalam Laravel untuk mengelola skema database Anda. Dengan menggunakan migration, Anda dapat memastikan bahwa semua anggota tim bekerja dengan penyimpanan data yang konsisten dan terkendali.

Referensi

Untuk informasi lebih lanjut, Anda bisa merujuk ke Dokumentasi Resmi Laravel Migration.