Cara Membuat Migration dan Seeder di Laravel untuk Pemula

Di Laravel, Anda tidak perlu membuat tabel database secara manual lewat phpMyAdmin. Ada Migration untuk mengelola struktur tabel lewat kode, dan Seeder untuk mengisi data awal. Ked...

Cara Membuat Migration dan Seeder di Laravel untuk Pemula
Bagian dari seri
Dasar Database & MySQL
  1. Cara Membuat Migration dan Seeder di Laravel untuk Pemula โ€” Anda di sini

Di Laravel, Anda tidak perlu membuat tabel database secara manual lewat phpMyAdmin. Ada Migration untuk mengelola struktur tabel lewat kode, dan Seeder untuk mengisi data awal. Keduanya membuat database Anda mudah dipindah dan direplikasi. Artikel ini membahas keduanya dari dasar.

Apa Itu Migration?

Migration ibarat "version control" untuk database. Struktur tabel didefinisikan dalam file, sehingga tim mana pun bisa membangun database yang sama dengan satu perintah.

Langkah 1: Membuat Migration

php artisan make:migration create_posts_table

File baru muncul di database/migrations/. Definisikan kolom di method up():

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('content');
        $table->boolean('is_published')->default(false);
        $table->timestamps();
    });
}

Langkah 2: Menjalankan Migration

php artisan migrate

Perintah lain yang berguna:

php artisan migrate:rollback   # batalkan migrasi terakhir
php artisan migrate:fresh      # hapus semua tabel & migrasi ulang
php artisan migrate:status     # lihat status migrasi

Langkah 3: Menambah Kolom ke Tabel yang Ada

Untuk mengubah tabel yang sudah ada, buat migration baru:

php artisan make:migration add_slug_to_posts_table --table=posts
public function up()
{
    Schema::table('posts', function (Blueprint $table) {
        $table->string('slug')->after('title');
    });
}

Apa Itu Seeder?

Seeder mengisi tabel dengan data awal (data dummy untuk testing atau data master seperti kategori). Buat seeder:

php artisan make:seeder PostSeeder

Isi method run():

public function run()
{
    Post::create([
        'title' => 'Artikel Pertama',
        'content' => 'Isi artikel...',
    ]);
}

Menjalankan Seeder

Daftarkan seeder di DatabaseSeeder.php, lalu jalankan:

$this->call(PostSeeder::class);   // di dalam DatabaseSeeder
php artisan db:seed
php artisan migrate:fresh --seed   # migrasi ulang + seed sekaligus

Bonus: Data Dummy Massal dengan Factory

Untuk membuat banyak data sekaligus, gabungkan seeder dengan factory:

Post::factory()->count(50)->create();

Kesimpulan

Migration dan Seeder membuat pengelolaan database Laravel jadi rapi, mudah dipindah, dan mudah direproduksi. Gunakan migration untuk struktur tabel, seeder untuk data awal, dan factory untuk data dummy massal. Kalau bertemu error tabel saat migrasi, lihat panduan kami tentang mengatasi error SQLSTATE Base Table Not Found.

migration laravel seeder laravel artisan migrate cara membuat tabel laravel database seeder laravel
Bagikan artikel
Kembali

Komentar (0)

Punya pertanyaan atau tambahan? Tulis di bawah โ€” tak perlu login.

Membalas komentarโ€ฆ batal

Belum ada komentar. Jadilah yang pertama!

๐Ÿš€ Partner Recommendation

Butuh Source Code & Aplikasi Premium?

Download aplikasi Laravel, POS, Sekolah, Klinik, ERP, dan source code siap pakai di GudangCode.

GudangCode
  • โœ” Source Code Premium
  • โœ” Sistem Siap Pakai
  • โœ” Lifetime Update
  • โœ” Membership Lifetime
  • โœ” Update Aplikasi Harian
Daftar Membership โ†’