29 November 2023

Seeder dan Faker Pada Laravel 10

Assalamu alaikum Wr. Wb 

Salam Pinter Bareng Komputer, ...zero bit... 

SEEDER
adalah file yang dibuat dan diisi script untuk nantinya dapat digunakan mengisi data DUMMY (Contoh) ke dalam database yang telah terkoneksi dengan projek Laravel.
Pada saat kita melakukan proses Develop aplikasi kita pasti memerlukan beberapa data sebagai contoh untuk diolah pada aplikasi kita, atau sekedar untuk dapat dilihat di dalam sebuah halaman (file VIEW).
Misalnya, pada saat kita membuat sistem informasi e-Commers pasti kita memerlukan beberapa contoh data produk. Data produk ini kita isikan secara asal - asalan sekedar untuk contoh saja. Untuk itu kita dapat memanfaatkan seeder.
Dengan Seeder kita dapat mengisikan data contoh ke dalam database dengan cepat menggunakan fitur perintah :
 php artisan db:seed --class=namafileseeder  
Jadi, kita tidak perlu repot - repot lagi menginputkan data testingnya ke dalam database secara manual. Apalagi misalnya kita ada banyak sekali data testing yang perlu kita inputkan ke dalam database dan kadang sering terjadi perubahan struktur kolom database yang mengharuskan kita memanggil perintah : php artisan migrate:fresh atau php artisan migrate:refresh yang akibatnya data yang sudah terisi di dalam tabel akan dihapus lagi sehingga kita harus menginputkan lagi data tersebut secara manual, maka pasti proses ini akan sangat tidak efektif dan tidak efisien.

Berikut langkah - langkah membuat file Seeder dan cara menggunakannya :
  1. Buka projek Laravel dengan VSCode.
  2. Pastikan kalian sudah berhasil melakukan koneksi DB MySQL dengan projek Laravel seperti yang telah dibahas di Seting Koneksi DB MySQL (Catatan: jika belum berhasil melakukan koneksi DB maka lakukan seting koneksi DB sampai berhasil).
  3. Pastikan kalian juga sudah berhasil membuat tabel menggunakan cara migrasi seperti yang telah dibahas di Membuat Tabel Baru dengan Migrasi. (Catatan : jika belum berhasil melakukan proses pembuatan tabel maka lakukan prosesnya sampai berhasil).
  4. Buka terminal di dalam VSCode, kemudian ketikkan perintah di bawah ini untuk membuat file seeder dengan nama ProdukSeeder.php.
  5.  php artisan make:seeder ProdukSeeder  
    
    Catatan:
    Proses ini akan menciptakan file Seeder Baru yang dapat dilihat di dalam subfolder seeders dalam folder database.
  6. Buka file seeder yang baru dibuat kemudian ketikkan script berikut ini :
  7.  <?php  
     namespace Database\Seeders;  
     use Illuminate\Database\Console\Seeds\WithoutModelEvents;  
     use Illuminate\Database\Seeder;  
     use App\Models\Produk;  //panggil model Produk
     class ProdukSeeder extends Seeder  
     {  
       public function run(): void  
       {  
         Produk::create([  
           'namaproduk'  => 'Sandal',   
           'deskripsi'   => 'Sandal keren terbuat dari bahan yang kuat dan berkualitas',   
           'harga'       => 10000  
         ]);  
         Produk::create([  
           'namaproduk'  => 'Tas Gunung',   
           'deskripsi'   => 'Cocok untuk aktifitas naik gunung karena   
                             terbuat dari bahan yang kuat dan berkualitas',   
           'harga'       => 350000  
         ]);  
       }  
     }  
    
  8. Buka kembali terminal di dalam VSCode kemudian ketikkan perintah berikut ini untuk menjalankan file ProdukSeeder.php.
  9.  php artisan db:seed --class=ProdukSeeder  
    
  10. Cek ke dalam tabel produks maka tabel tersebut akan terisi 2 (dua) data contoh seperti yang telah kita definisikan di atas.

FAKER
Faker adalah library PHP yang dibuat oleh FRANCOIS ZANINOTTO. Faker digunakan untuk membuat data palsu (Fake) sebagai contoh data. Faker mampu mengenerate ratusan bahkan ribuan data testing secara acak. Misalnya, kita membutuhkan 100 data pegawai sebagai data testing di aplikasi yang sedang kita develop, maka kita bisa menggunakan Faker. Hebatnya saat melakukan proses generate data Faker ini memberikan datanya seperti data asli, jadi bukan data asal - asalan.

Cara penggunaan Faker:
  1. Buka projek dalam VSCode.
  2. Buka salah satu file Seeder yang telah dibuat dan akan ditambahkan Faker di dalamnya. Misalnya kita buka file ProdukSeeder.php.
  3. Tambahkan script berikut ini :
  4.  <?php  
     namespace Database\Seeders;  
     use Illuminate\Database\Console\Seeds\WithoutModelEvents;  
     use Illuminate\Database\Seeder;  
     use App\Models\Produk;  
     use Faker\Factory as Faker;  //memanggil library Faker
     class ProdukSeeder extends Seeder  
     {  
       public function run(): void  
       {  
         $faker = Faker::create('id_ID');  //mensetting data faker ke regional Indonesia
         for($i = 0; $i <=100; $i++) {  
           Produk::create([  
             'namaproduk'  => 'Produk ' . $faker->word, //membuat nama produk dg kata acak   
             'deskripsi'   => $faker->text,   //membuat deskripsi dg kata acak
             'harga'     => $faker->numberBetween(10000, 100000 )  //membuat hrg antara 10000-100000
           ]);  
         }  
       }  
     }  
    
  5. Jalankan Seeder kembali dan lihat data yang terbentuk:
  6.  php artisan db:seed --class=ProdukSeeder  
    
  7. Berikut sebagian data Produk yang terbentuk (lumayan membantu pembuatan data untuk percontohan).
  8. hasil proses Seeder + Faker
Dokumentasi lengkap tentang Library PHP Faker dapat dibaca DI SINI, atau di dalam dokumentasi Laravel mengenai Faker yang bisa dibaca DI SINI.


Semoga artikel ini bermanfaat.

0 comments:

Posting Komentar