My Course — Membangun Website Food Store Dengan Laravel Filament, Livewire dan Payment Gateway

Menjalankan Migration dan Seeder


Sebelum menjalankan migrate dan seed, kita perlu mendaftarkan seeder di dalam DatabaseSeeder. Hal ini bertujuan agar saat proses seed dijalankan, data seeder untuk provinces dan cities yang sudah dibuat sebelumnya juga ikut dijalankan.

Langkah 1 - Register Seeder

Silahkan buka file database/seeders/DatabaseSeeder.php, kemudian ubah kode-nya menjadi seperti berikut ini :

php
<?php namespace Database\Seeders; use App\Models\User; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. */ public function run(): void { $this->call(ProvincesTableSeeder::class); $this->call(CitiesTableSeeder::class); } }

Di atas, kita telah memanggil class ProvincesTableSeeder dan CitiesTableSeeder di dalam method run. Dan untuk urutannya jangan sampai keliru ya. Karena prosesnya akan dieksekusi secara berurutan.

Langkah 2 - Menjalankan Migrate dan Seed

Silahkan teman-teman jalankan perintah berikut ini di dalam terminal/CMD dan pastikan sudah berada di dalam project Laravel-nya.

lua
php artisan config:cache
lua
php artisan config:clear

Kedua perintah di atas digunakan untuk mengahpus cache config di dalam aplikasi.

lua
composer dump-autoload
css
php artisan migrate --seed

Perintah di atas akan menjalankan migration table dan kita tambahkan flag -- seed yang artinya sekaligus menjalankan perintah database seeder.

Jika keluar pertanyaan seperti berikut ini, silahkan pilih Yes.

sql
WARN The database 'db_food_store' does not exist on the 'mysql' connection. ┌ Would you like to create it? ────────────────────────────────┐ │ ● Yes /No │ └──────────────────────────────────────────────────────────────┘

Jika berhasil, maka outputnya seperti berikut ini.

Sekarang, kita bisa cek di dalam database, maka table-table akan otomatis dibuatkan beserta relasi dan data yang kita atur di dalam seeder.

Dan silahkan teman-teman buka pada table provinces dan cities, maka akan terdapat data yang sudah kita buat sebelumnya di dalam seeder.