php artisan db seed | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: php artisan db seed

Thursday, January 15, 2026

php artisan db seed

PHP Artisan DB Seed Laravel – Cara Mengisi Data Database Otomatis

Kalau kamu sudah pakai php artisan migrate untuk membuat struktur tabel, langkah berikutnya yang tidak kalah penting adalah:

php artisan db:seed

Tanpa seeder, kamu akan capek input data manual setiap kali:

  • Install ulang project

  • Pindah server

  • Testing fitur

  • Development tim

Dengan PHP Artisan DB Seed Laravel, semua data awal bisa dibuat otomatis.

Apa Itu DB Seed di Laravel?

DB Seed adalah fitur Laravel untuk mengisi database dengan data dummy atau data awal menggunakan kode PHP.

Biasanya dipakai untuk:

  • Data admin

  • Data user default

  • Data master (role, kategori, jurusan, dll)

  • Data testing

Seeder ini berjalan setelah migration.

Cara Membuat Seeder di Laravel

Jalankan perintah:

php artisan make:seeder UserSeeder

jika perintah sukses, akan muncul komentar "Seeder created successfully." pada terminal tempat menjalankan perintah pembuatan seeder.


Laravel akan membuat file di:

database/seeders/UserSeeder.php

Isinya seperti ini:

<?php

use Illuminate\Database\Seeder;

class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('users')->insert([
'name' => 'Admin',
'email' => 'admin@mail.com',
'password' => bcrypt('123456'),
]);
}
}

Ini akan membuat satu user admin otomatis.

Menjalankan PHP Artisan DB Seed

Untuk menjalankan semua seeder:

php artisan db:seed

Kalau mau jalankan seeder tertentu:

php artisan db:seed --class=UserSeeder

Ini sangat berguna kalau project besar dan banyak seeder. Berikut ini adalah hasil setelah menjalankan seeder class UserSeeder



Menggabungkan Seeder dengan Migration

Biasanya developer pakai:

php artisan migrate --seed

Atau saat reset database:

php artisan migrate:fresh --seed

Ini akan:

  1. Hapus semua tabel

  2. Buat ulang

  3. Isi data otomatis

Sangat cocok untuk testing dan development.

Menggunakan Factory untuk Data Banyak

Kalau mau generate data banyak:

php artisan make:factory UserFactory

Di factory:

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\User;
use Faker\Generator as Faker;
use Illuminate\Support\Str;

/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| This directory should contain each of the model factory definitions for
| your application. Factories provide a convenient way to generate new
| model instances for testing / seeding your application's database.
|
*/

$factory->define(User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
});

Di file DatabaseSeeder:

<?php

use Illuminate\Database\Seeder;

use App\User;

class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
factory(User::class, 50)->create();
}
}

kemudian jalankan

php artisan db:seed

Ini bisa bikin 50 data user dalam 1 detik.

Kesalahan Umum Saat DB Seed

1. Data tidak masuk

Biasanya lupa memanggil seeder di DatabaseSeeder.php.

$this->call(UserSeeder::class);

2. Duplicate data

Seeder dijalankan berkali-kali tanpa truncate.

Solusi:

DB::table('users')->truncate();

Kenapa DB Seed Penting di Laravel?

Karena tanpa seeder:

  • Testing lama

  • Data beda-beda

  • Deploy rawan error

Dengan php artisan db:seed:

  • Semua tim punya data sama

  • Server baru siap dalam hitungan menit

  • Tidak perlu input manual

Penutup

Kalau kamu sudah pakai:

Maka kamu sudah pakai workflow Laravel profesional.

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux