CRUD : PART 2 | Membuat Tabel di Database dan Seeder di Laravel 11

Baringin
By -
0

 


Pendahuluan

    Dalam proses pengembangan suatu aplikasi, seringkali kita membutuhkan data awal tiruan atau dummy data untuk memudahkan pengujian dan pengembangan aplikasi kita. Laravel menyediakan suatu fitur yaitu Seeder yang memungkinkan kita untuk mengisi database dengan data awal secara otomatis, sehingga membuat pengembangan aplikasi kita menjadi lebih mudah dan efisien. 


Apa itu Seeder pada Laravel?

    Seeder pada Laravel merupakan merupakan sebuah class yang memungkinkan kita sebagai web developer untuk mengisi database kita dengan data awal atau dummy data yang telah ditentukan secara otomatis. Seeder memungkinkan kita untuk membuat data awal yang sama untuk setiap penggunaan dalam pembangunan aplikasi. Dengan Seeder, kita dapat memasukkan data awal dalam jumlah yang banyak sekaligus ke dalam database menggunakan Model Factories tanpa perlu menambahkannya satu per satu melalui interface database. Kita hanya perlu menuliskan kode sekali dan Seeder akan memasukkan data tersebut ke dalam database kita secara otomatis.

    Seeder sangat berguna dalam tahap pengembangan, uji coba, dan pemeliharaan aplikasi kita untuk mengisi data ke dalam database. Selain itu, Seeder juga memungkinkan pengembang untuk mengelola data dengan lebih mudah, seperti menambahkan, mengubah, atau menghapus data dengan mudah. 


Membuat Table Migration Di Laravel

    Untuk menggunakan Seeder di laravel, hal pertama yang perlu kita lakukan adalah menentukan model serta data yang akan dimasukkan pada database. Contohnya, kita akan membuat sebuah tabel dengan nama koleksi yang terdiri dari field kode, judul, deskripsi, gambar. Perhatikan data dalam tabel koleksi berikut:


No Kode Judul Deskripsi Gambar
1 9090 Pemrograman Komputer Menjelaskan bagaimana memulai membuat program komputer.jpeg
2 9098 Jaringan Komputer Konsep dasar membuat jaringan jaringan.jpeg
3 9088 Animasi Langkah-langkah dasar menjadi seorang animasion animasi.jpg


    Field dari tabel tersebut akan kita buatkan model sedangkan data dari tabel tersebut kita letakkan di dalam seeder. Oleh sebab itu langkah pertama yang harus kita lakukan adalah membuat tabel terlebih dahulu. Nama tabel yang kita buat adalah "koleksi" namun kita harus menambahkan huruf s dibelakangnya sehingga menjadi "koleksis". Buka kembali projek yang telah kita buat dan buka terminal baru. Ketikkan perintah berikut:

   

php artisan make:migration create_koleksis_table

    Tekan Enter.

    Buka struktur projek kita dan cari folder Database => Migration. Terdapat 4 buah file. Salah satunya bernama creates_koleksis_table. Silahkan buka file tersebut. Kita akan membuat skema di dalam file tersebut.

    Dalam method up(), terdapat method create() dan class Schema yang berfungsi untuk membuat tabel baru dengan nama pages. sedangkan di method down() sendiri berisi method dropIfexists() dari class Schema yang berfungsi untuk menghapus tabel pages apabila di-rollback.

     Mari kita mulai membuat schema users.

     Pada method up() tambahkan scema seperti berikut:

    public function up(): void
    {
        Schema::create('koleksis', function (Blueprint $table) {
            $table->id();
            $table->integer('kode');
            $table->string('judul', 50);
            $table->string('deskripsi');
            $table->string('gambar');
            $table->timestamps();
        });
    }

    Sekarang buka terminal baru dan ketikkan perintah berikut:
    
php artisan migrate

    Enter

    Anda dapat mengecek apakah tabel telah dibuat atau belum. Buka Laragon dan buka database db_latihanLaravel. 
    



    Membuat Seeder
    Langkah selanjutnya adalah membuat seeder. Namun sebelum Seeder dibuat kita perlu mendefenisikan field tabel tadi ke dalam model. Kita akan membuat model dengan nama Koleksi. Ingat, Nama model harus sama dengan nama tabel. 
 Buka terminal baru dan silahkan ketikkan perintah berikut di terminal:

    php artisan make:model Koleksi

    Tekan Enter

    Buka App => Model dan cari Koleksi. Tambahkan Perintah berikut:

....
class Koleksi extends Model
{
    use HasFactory;
    protected $quarded = ['id'];
    protected $fillable = [
        'kode',
        'judul',
        'deskripsi',
        'gambar'
    ];
}


Simpan Model.

    Sekarang kita akan membuat seeder yang akan kita beri nama dengan "KoleksiSeeder". Ketikkan perintah berikut di terminal:

    
php artisan make:seeder KoleksiSeeder

    Tekan Enter
    
    Buka folder Database =>seeders dan buka file KoleksiSeeder. Tambahkan script berikut:

<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\Koleksi; //Jangan :lupa untuk memanggil modelnya

class KoleksiSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        Koleksi::create([
            'kode'      => 9090,
            'judul'         => 'Pemrograman Komputer',
            'deskripsi'    => 'Menjelaskan bagaimana memulai membuat program',
            'gambar'        => 'komputer.jpeg'
        ]);
        Koleksi::create([
            'kode'      => 9098,
            'judul'         => 'Jaringan Komputer',
            'deskripsi'    => 'Konsep dasar membuat jaringan',
            'gambar'        => 'jaringan.jpeg'
        ]);
        Koleksi::create([
            'kode'      => 9090,
            'judul'         => 'Animasi',
            'deskripsi'    => 'Langkah-langkah dasar menjadi seorang animasion',
            'gambar'        => 'animasi.jpg'
        ]);
    }
}


    Data yang kita masukkan ke dalam seeder merupakan data yang tertera di dalam tabel di atas. Sekarang kita akan menginputkan data tersebut ke dalam tabel yang ada di dalam database. Silahkan ketikkan perintah berikut di terminal:

   
php artisan db:seed KoleksiSeeder


Tekan Enter

Sekarang buka laragon dan buka database kita tadi. Coba lihat pada tabel Koleksis apakah data sudah ditambahkan?



    Nah sampai disini kita sudah berhasil mebuat seeder. Jika anda ingin mengosongkan data anda dapat mengetikkan perintah berikut

php artisan migrate:fresh

    Jadi dengan memanfaatkan seeder kita dapat mengisi tabel. Seeder ini sangat bermanfaat jika kita mengembangkan aplikasi laravel dengan tim. Deangan sekali buat kita dapat mengeksekusi berkali-kali.


Post a Comment

0Comments

Post a Comment (0)