Membuat tabel data dengan migration Laravel, ya tentu saja ini salah satu fitur menarik lainnya yang dimiliki oleh framework Laravel. Dengan migration memungkinkan kita untuk membuat struktur database melalui php artisan. Keren bukan?

Mengutip dari website resminya Laravel “Migrations are like version control for your database, allowing your team to easily modify and share the application’s database schema. Migrations are typically paired with Laravel’s schema builder to easily build your application’s database schema. If you have ever had to tell a teammate to manually add a column to their local database schema, you’ve faced the problem that database migrations solve.”

Membuat Berkas Migration di Laravel
Sejatinya mulai versi Laravel 5.3 keatas berkas migrations terletak pada direktori database/migrations. Pada laravel 5.8 kita bisa menjumpainya pada folder database/migrations.

Kali ini kita akan membahas bagaimana membuat database dengan migrationnya Laravel. Cara mudah membuat berkas migrations adalah menggunakan artisan.

Kali ini kita akan membuat tabel tbl_siswa dengan migrations nya Laravel, berikut adalah langkahnya, jalankan cmd atau buka jendela command prompt dan masuk direktori project yang telah kita buat, ketik perintah php artisan make:migration create_tbl_siswa_table –create=tbl_siswa

table migrations laravel
Table migrations laravel

Kalau sudah bisa kita buka di dalamnya ada dua method yakni up dan down, dimana method up digunakan untuk create table/column dan down untuk menghapus.

<?php

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

class CreateTblSiswaTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('tbl_siswa', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('tbl_siswa');
    }
}

Nah sekarang kita ketikan pertintah untuk create table siswa di dalam method up.

public function up()
    {
        Schema::create('tbl_siswa', function (Blueprint $table) {
            $table->engine = "InnoDB";
            $table->string('nis', 32)->primary();
            $table->string('nama', 100);
            $table->enum('jk', ['L','P'])->default('L');
            $table->string('lahir', 100);
            $table->date('tgl_lahir');
            $table->integer('id_kelas');
            $table->text('alamat');
            $table->string('tahun_ajaran', 10);
        });
    }

Dan ketik pertintah untuk drop table siswa di dalam method down.

public function down()
    {
        Schema::dropIfExists('tbl_siswa');
    }

Kalau sudah kini saatnya kita jalankan dengan mengeketik perintah php artisan migrate.

table migrations laravel
Table migrations laravel

Nah coba cek pada phpmyadmin, kalau berhasil maka akan ada table tbl_siswa, seperti berikut.

Table siswa laravel
Table siswa laravel

Untuk menghapus table tinggal ketik perintah php artisan migrate:rollback.