Tutorial CRUD Laravel 8 dengan Tailwind CSS #2: Membuat dan Menjalankan Migration


Fika Ridaul Maulayya
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 belajar bagaimana cara membuat project Laravel dan menjalankannya. Sekarang kita akan belajar tentang database migration.

Apa itu Database Migration ?

Migrations are like version control for your database, allowing your team to define and share the application's database schema definition. If you have ever had to tell a teammate to manually add a column to their local database schema after pulling in your changes from source control, you've faced the problem that database migrations solve.

Atau sederhananya seperti berikut ini :

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.

Di artikel kali ini kita semua akan belajar membuat migration untuk membuat table posts beserta field-fieldnya. Sebelumnya, kita harus melakukan konfigurasi koneksi database terlebih dahulu.

Langkah 1 - Koneksi Database

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

DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Kemudian, ubah menjadi seperti berikut ini :

DB_DATABASE=db_laravel_tailwind
DB_USERNAME=root
DB_PASSWORD=

Di atas, kita akan menggunakan nama database yaitu db_laravel_tailwind dan untuk DB_PASSWORD silahkan disesuaikan dengan konfigurasi dari MySQL-nya masing-masing. Jika menggunakan XAMPP, secara default adalah kosong atau tidak perlu diisi.

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

Langkah 2 - Membuat Database

Sekarang, kita lanjutkan untuk membuat databasenya, disini kita akan membuat melalui PhpMyadmin jika teman-teman menggunakan yang lain tidak ada masalah juga.

Sekarang, silahkan buka http://localhost/phpmyadmin dan silahkan buat database baru dengan nama db_laravel_tailwind, kurang lebih seperti berikut ini :

Langkah 3 - Membuat Model dan 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 Post -m

Perintah di atas digunakan untuk membuat Model Post dan karena kita menambahkan flag -m yang artinya file migration juga akan ikut dibuat.

Untuk Model, bisa dilihat di dalam folder app/Models/Post.php dan untuk migration berada di dalam folder database/migrations/2021_02_09_020751_create_posts_table.php untuk nama file migration akan random sesuai dengan tanggal pembuatannya.

Langkah 4 - Menambahkan Field/Kolom Table

Sekarang kita akan lanjutkan untuk menambahkan beberapa field untuk table posts, silahkan buka file database/migrations/2021_02_09_020751_create_posts_table.php dan pada ffunction 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();
  });
}

Di atas, kita menambahkan 3 field, yaitu image dengan tipe data string. title dengan tipe data string dan content dengan tipe data text.

Langkah 5 - Menjalankan Migration

Setelah berhasil membuat beberapa kode untuk field di dalam table posts, sekarang kita akan belajar menjalankan migration agar field-fieldnya ter-generate di dalam database.

Silahkan jalankan perintah berikut ini di dalam CMD/terminal :

php artisan migrate

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

Langkah 6 - Menambahkan Mass Assigment

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 Post. Silahkan buka file app/Models/Post.php kemudian tambahkan kode berikut ini :

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

Jika file app/Models/Post.php 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 Post extends Model
{
    use HasFactory;

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

}

Sampai disini pembahasan tentang bagaimana cara membuat dan menjalankan migration di Laravel, di artikel selanjutnya kita semua akan belajar bagaimana cara melakukan installasi Tailwind CSS di dalam project Laravel.

Terima Kasih


INFO :


Fika Ridaul Maulayya
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

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

KOMENTAR