Migration pada Laravel

alfa6661
- June 02, 2016
0 (0 votes)
Rate :
Penggunaan fungsi migration pada Laravel

Struktur database selalu berkembang seiring kita mengembangkan dan merawat aplikasi database-driven. Misalnya, ketika saat pengembangan, kita ingin menambah sebuah tabel baru, atau setelah aplikasi sudah rampung, kita mungkin menyadari perlu menambah sebuah indeks pada sebuah kolom. Sangatlah penting untuk selalu menjaga track dari perubahan struktural database ini yang disebut dengan migration (migrasi). Jika source code dan database tidak tersinkronisasi, besar peluangnya keseluruhan aplikasi akan rusak.

Untuk menangani perubahan-perubahan skema database seperti ini, ada sebuah fitur yang memungkinkan kita untuk mengembangkan skema database dari waktu ke waktu. Migration seperti layaknya version control untuk database yang memungkinkan kita untuk memanipulasi skema database, dari pada menulis modifikasi skema di SQL murni, migration memungkinkan kita untuk menggambarkan perubahan pada tabel.

Membuat Migration

Untuk membuat migration gunakan perintah make:migration. Contoh:

php artisan make:migration create_users_table

File migration akan disimpan pada direktori database/migrations.

Struktur Migration

Migration class terdiri dari 2 method yaitu up dan down. Method up() harus mengandung code yang mengimplementasikan migrasi database aktual, sedangkan method down() bisa berisi code yang me-revert apa yang telah dilakukan up(). Sebagai contoh Migration dibawah akan membuat table baru dengan nama users.

<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->timestamps();
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('users');
    }
}

Menjalankan Migration

Untuk mengaplikasikan migrasi baru yang tersedia (misalnya membuat database lokal up-to-date), gunakan perintah berikut:

php artisan migrate

Rollback Migration

Untuk rollback / me-revert migration terakhir, kita dapat menggunakan command berikut ini: 

php artisan migrate:rollback

Rollback semua Migration

Untuk rollback semua migration yang telah di jalankan, kita bisa menggunakan perintah migrate:reset

php artisan migrate:reset

To be continued..

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below

No comments associated with this article