Seeder & Faker
Penjelasan
Seeder di CodeIgniter dibuat lewat php spark make:seeder, disimpan di app/Database/Seeds, dan dijalankan lewat php spark db:seed NamaSeeder. Untuk data dummy dalam jumlah banyak, CodeIgniter menyertakan library Faker bawaan lewat $this->faker.
Contoh Konsep
<?php
namespace App\Database\Seeds;
use CodeIgniter\Database\Seeder;
class ProdukSeeder extends Seeder
{
public function run()
{
$this->db->table('produk')->insert([
'nama' => 'Kaos CompileDaily',
'harga' => 99000,
]);
$this->db->table('produk')->insert([
'nama' => 'Topi CompileDaily',
'harga' => 59000,
]);
}
}
// Jalankan lewat terminal:
// php spark db:seed ProdukSeeder
Praktikum
Buat seeder ArtikelSeeder yang membuat minimal 3 record lewat $this->db->table('artikel')->insert() dengan judul dan isi bebas. Tulis juga perintah spark untuk menjalankan seeder itu sebagai komentar.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Sama seperti Laravel, seeder CodeIgniter dengan insert() biasa akan terus menambah data BARU tiap kali php spark db:seed dijalankan berulang — kalau butuh perilaku idempotent, cek dulu datanya sudah ada atau belum sebelum insert().