Tutorial Laravel 9 #2 : Membuat dan Menjalankan Migration


Tutorial Laravel 9 #2 : Membuat dan Menjalankan Migration

Halo teman-teman semuanya, di artikel sebelumnya kita telah berhasil belajar bagaimana cara melakukan proses installasi dan menjalankan projecr baru di Laravel 9. Sekarang, kita akan lanjutkan belajar bagaimana cara membuat migration di Laravel 9.

Migration adalah sebuah version control database, dimana akan membantu team untuk mengubah dan membagikan sebuah schema database dari aplikasi yang dibangun. Jika sebelumnya teman-teman biasanya membuat table-table secara manual di dalam database, maka dengan migration hal itu sudah tidak perlu dilakukan lagi.

Langkah 1 - Konfigurasi Koneksi Database

Karena akan bekerja menggunakan database, maka kita perlu melakukan konfigurasi koneksi database-nya terlebih dahulu. Silahkan buka project kita menggunakan Text Editor, kemudian cari file yang bernama .env.

Jika sudah ketemu, silahkan cari kode berikut ini di dalam file .env.

DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Dan ubahlah menjadi seperti berikut ini :

DB_DATABASE=db_laravel_9
DB_USERNAME=root
DB_PASSWORD=

Di atas, kita atur untuk DB_DATABASE atau nama database yang akan kita gunakan menjadi db_laravel_9. Kemudian untuk DB_USERNAME kita biarkan default, yaitu root dan untuk DB_PASSWORD silahkan disesuaikan dengan konfigurasi-nya massing-masing. Jika menggunakan XAMPP, maka untuk password-nya dikosongkan saja (by default kosong).

INFORMASI : silahkan restart server Laravel-nya setelah melakukan perubahan di dalam file .env.

Langkah 2 - Membuat Database

Setelah kita berhasil melakukan konfigurasi koneksi database, sekarang kita lanjutkan untuk membuat database-nya. Silahkan buka http://localhost/phpmyadmin. Kemudian silahkan buat database baru dengan nama db_laravel_9. Kurang lebih seperti berikut ini :

Langkah 3 - Membuat Model dan Migration

Sekarang, kita lanjutkan belajar bagaimana cara membuat model dan migration di Laravel 9. Silahkan jalankan perintah berikut ini di dalam terminal/CMD dan pastikan berada di dalam project Laravel-nya.

php artisan make:model Post -m

Perintah di atas, digunakan untuk membuat model baru dengan nama Post dan kita tambahkan flag -m, yang artinya file migration-nya juga akan ikut dibuat.

Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan 2 file baru, yaitu :

  • app/Models/Post.php
  • database/migrations/2022_02_09_003543_create_posts_table.php

INFORMASI : untuk nama file migration akan random sesuai tanggal pembuatannya.

Langkah 4 - Menambahkan Field Table

Setelah berhasil membuat model dan migration, sekarang kita lanjutkan untuk menambahkan field atau kolom di dalam file migration. Field yang kita tambahkan ini akan digenerate di dalam table posts yang ada di database.

Silahkan buka file database/migrations/2022_02_09_003543_create_posts_table.php, kemudian pada bagian function up, ubah kode-nya menjadi seperti berikut ini :

public function up()
{
  Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->string('image');
    $table->string('title');
    $table->text('content');
    $table->timestamps();
  });
}

Dari perubahan kode di atas, kita menambahkan 3 field baru, yaitu :

FIELD TYPE DATA
image string
title string
content text

Langkah 5 - Menjalankan Migration

Sekarang kita akan belajar menjalankan perintah migrate. Perintah ini akan digunakan untuk melakukan proses create table posts beserta field yang ada di dalamnya ke dalam database.

Silahkan jalankan perintah berikut ini di dalam terminal/CMD :

php artisan migrate

Jika perintah di atas berhasil dijalankan, maka akan mendapatkan output seperti berikut ini :

Dan jika kita cek di dalam database, maka table-table beserta field-nya juga otomatis ter-generate.

Langkah 6 - Konfigurasi Mass Assigment

Mass Assigment di Laravel memungkinkan kita untuk mengizinkan sebuah field dari table agar dapat menyimpan sebuah data. Karena table yang kita gunakan nantinya buat menyimpan data, maka kita perlu melakukan konfigurasi Mass Assigment-nya terlebih dahulu.

Silahkan buka file app/Models/Post.php, kemudian ubah kode-nya menjadi seperti berikut ini :

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use HasFactory;
    
    /**
     * fillable
     *
     * @var array
     */
    protected $fillable = [
        'image',
        'title',
        'content',
    ];
}

Di atas, kita menambahkan properti baru yang bernama $fillable. Properti tersebut yang dinamakan Mass Assigment di Laravel. Diman di dalamnya kita menambahkan field-field yang diizinkan untuk melakukan manipulasi data.

Sampai disini pembahasan bagaimana cara membuat model dan migration di Laravel 9. Di artikel selanjutnya kita semua akan belajar bagaimana cara menampilkan data dari database di Laravel 9.

Terima Kasih



Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami