Study
Laravel

Seeder & Factory

Penjelasan

Seeder dipakai untuk mengisi database dengan data awal/dummy secara terprogram — dibuat lewat php artisan make:seeder, dijalankan lewat php artisan db:seed. Factory (sering dipakai bareng seeder) mendefinisikan cara menghasilkan data PALSU (fake) dalam jumlah banyak, biasa memakai library Faker di baliknya.

Contoh Konsep

<?php

// database/seeders/ProdukSeeder.php
namespace Database\Seeders;

use App\Models\Produk;
use Illuminate\Database\Seeder;

class ProdukSeeder extends Seeder
{
    public function run(): void
    {
        Produk::create(['nama' => 'Kaos CompileDaily', 'harga' => 99000]);
        Produk::create(['nama' => 'Topi CompileDaily', 'harga' => 59000]);
    }
}

// Jalankan lewat terminal:
// php artisan db:seed --class=ProdukSeeder

Praktikum

Buat seeder ArtikelSeeder yang membuat minimal 3 record Artikel lewat Artikel::create() dengan judul dan isi bebas. Tulis juga perintah artisan untuk menjalankan seeder itu sebagai komentar.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Seeder bersifat idempotent HANYA kalau kamu sengaja bikin begitu (mis. pakai updateOrCreate() bukan create()) — menjalankan php artisan db:seed berkali-kali dengan create() biasa akan terus menambah data BARU tiap kali dijalankan, bukan mengganti data yang sudah ada.