Tutorial CRUD Laravel Livewire SPA #2 : Membuat & Menjalankan Migration - Halo teman-teman semuanya, pada artikel kali ini kita semua akan belajar bagaimana cara membuat & menjalankan migration di Laravel.
Karena pada kasus studi kali ini kita akan membuat aplikasi CRUD sederhana, maka kita harus membuat sebuah migration table untuk menyimpan datanya nanti.
Langkah 1 - Membuat Migration
Pada langkah pertama ini, kita akan membuat sebuah Model dan sekaligus migration juga. Silahkan teman-teman jalankan perintah dibawah ini :
php artisan make:model Post -m
Perintah diatas akan membuat sebuah Model baru beserta file migrationnya, jika berhasil kurang lebih teman-teman akan mendpatkan pesan seperti berikut ini :
Model created successfully.
Created Migration: 2020_05_19_011732_create_posts_table
Oke, setelah migration berhasil dibuat, selanjutnya kita akan melakukan modifikasi dari file migration tersebut, seperti menambahkan coloumn, dll.
SIlahkan teman-teman buka filenya di database/migrations/2020_05_19_011732_create_posts_table.php
dan ubahlah pada function up
menjadi seperti berikut ini :
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Bisa teman-teman lihat dari perubahan yang sudah kita lakukan, disini kita berhasil menambahkan 2 coloumn
baru, yaitu title
dan content
.
Langkah 2 - Menjalankan Migration
Setelah kita berhasil membuat migration, langkah selanjutnya adalah kita akan menjalankan migration tersebut, hasil dari menjalankan migration nanti kita akan dibuatkan sebuah table baru sesuai dengan apa yang sudah kita buat diatas.
Jalankan perintah berikut ini untuk menjalankan migration :
php artisan migrate
Jika berhasil, maka teman-teman akan melihat pesan kurang lebih seperti berikut ini :
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.04 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.02 seconds)
Migrating: 2020_05_19_011732_create_posts_table
Migrated: 2020_05_19_011732_create_posts_table (0.01 seconds)
Dan jika teman-teman lihat databasenya di http://localhost/phpmyadmin maka teman-teman akan mendaptkan sebuah tabel baru dengan nama posts
, kurang lebih seperti gambar dibawah ini :
Langkah 3 - Konfigurasi Model
Setelah kita berhasil menjalankan migration, langkah selanjutnya kita akan melakukan beberapa konfigurasi di dalam file Model Post
, silahkan buka app/Post.php
dan ubahlah kodenya menjadi seperti berikut ini :
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
/**
* mass assigment
*/
protected $guarded = [];
}
Dari perubahan yang kita lakukan, disini kita menambahkan sebuah variable protected untuk melakukan mass assigment ke dalam table.
Mass Assigment ini digunakan untuk mengizinkan field dari table mana saja yang diperbolehkan melakukan insert data ke dalam database.
Dari contoh diatas, kita menggunakan sintaks seperti berikut ini :
/**
* mass assigment
*/
protected $guarded = [];
Kita sebenarnya juga bisa menggunakan kode seperti berikut ini :
/**
* mass assigment
*/
protected $fillable = [
‘title',
‘content'
]
SOURCE CODE
Untuk teman-teman yang ingin mengunduh source codenya : https://github.com/maulayyacyber/CRUD-Laravel-Livewire-SPA
KESIMPULAN
Pada tutorial kali ini kita semua telah belajar bagaimana cara membuat sebuah model beserta migration & menjalankan migration itu sendiri dan kita juga belajar bagaimana membuat mass assigment di dalam model.
Jika teman-teman ada pertanyaan atau kendala saat mencoba, silahkan teman-teman bisa bertanya melalui kolom komentar dibawah artikel ini.
Terima Kasih