Tutorial CRUD Laravel 8 Dengan Bootstrap #2 : Membuat dan Menjalankan Migration


Fika Ridaul Maulayya
I'm a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Articles, Screencasts and E-Books at SantriKoding.com

Halo teman-teman semuanya, di artikel sebelumnya kita sudah berhasil menginstall dan menjalankan project dengan Laravel 8, dan pada kesempatan kali ini kita semua akan belajar bagaimana cara membuat migration dan menjalankan migration.

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.

Pada kesempatan kali ini kita akan belajar membuat migration baru, yang mana ini akan kita gunakan untuk studi kasus membuat CRUD di Laravel 8. Langsung saja kita mulai.

Langkah 1 - Koneksi Database

Pertama, silahkan buka file .env dan kemudian silahkan cari kode berikut ini :

DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Dan ubahlah menjadi seperti berikut ini :

DB_DATABASE=db_laravel8_blog
DB_USERNAME=root
DB_PASSWORD=

Di atas untuk nama database yang akan kita gunakan adalah db_laravel8_blog dan untuk password silahkan disesuaikan dengan konfigurasi MySQL dari komputer masing-masing, jika menggunakan XAMPP maka secara default adalah kosong atau tidak perlu diisi.

Sekarang kita lanjutkan untuk membuat database baru di dalam http://localhost/phpmyadmin dan silahkan buat database baru dengan nama db_laravel8_blog.

CATATAN!: pastikan setelah melakukan perubahan di dalam file .env, untuk selelau melakukan restart server Laravel untuk melihat perubahannya.

Langkah 2 - Membuat Model & Migration

Silahkan jalankan perintah berikut ini di dalam terminal/CMD dan tentu saja di dalam project Laravel yang sudah kita buat sebelumnya :

php artisan make:model Blog -m

Perintah di atas akan membuat sebuah model baru dengan nama Blog di dalam folder app/Models/Blog.php dan kita juga menambahkan flag -m yang artinya sekaligus membuat untuk file migrationnya. Kita bisa melihatnya di database/migrations/2020_09_17_042027_create_blogs_table.php. Untuk nama file depan dari migration akan random sesuai dengan tanggal saat dibuat.

Langkah 3 - Membuat Field Table Migration

Sekarang kita lanjutkan untuk menambahkan beberapa filed yang akan kita gunakan nanti, silahkan buka file database/migrations/2020_09_17_042027_create_blogs_table.php dan silahkan ubah pada function up menjadi seperti berikut ini :

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

Di atas kita menambahkan 3 filed baru, yaitu image dengan tipe data string, kemudian title dengan tipe data string juga dan yang terakhir ada content dengan tipe data text.

Langkah 4 - Menjalankan Migration

Setelah kita berhasil membuat beberapa field di dalam file migration blog, maka sekarang kita bisa mencoba menjalankan migration tersebut agar menjadi sebuah table di dalam database. Silahkan jalankan perintah di bawah ini :

php artisan migrate

Jika berhasil maka teman-teman bisa mencoba cek database dan teman-teman akan menemukan table blog yang sudah kita buat di dalam file migration.

Langkah 5 - Menambahkan Mass Assigment

Sekarang kita lanjutkan untuk menambahkan mass assigment di dalam model Blog. Mass Assigment merupakan method yang digunakan untuk mengizinkan sebuah field dari table agar dapat menyimpan sebuah data. Kita bisa membuat mass assignment dengan properti $fillable di dalam model Blog. Silahkan buka file app/Models/Blog.php kemudian tambahkan kode berikut ini :

/**
* fillable
*
* @var array
*/
protected $fillable = [
    'image', 'title', 'content'
];

Di atas kita menambahkan 3 field yang kita izinkan untuk menyimpan data di dalam table blogs, yaitu images, title dan content. Jika file model Blog di tulis dengan lengkap kurang lebih seperti berikut ini :

<?php

namespace App\Models;

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

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

Di artikel selanjutnya kita akan belajar bagaimana cara menampilkan data dari database di Laravel 8 dan untuk tampilannya kita nanti akan menggunakan Framework Bootstrap secara CDN atau online. Terima Kasih


Fika Ridaul Maulayya
I'm a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Articles, Screencasts and E-Books at SantriKoding.com
KEBIJAKAN KOMENTAR

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

KOMENTAR