DEV Community

Hilmi Hidayat
Hilmi Hidayat

Posted on • Originally published at divisidev.com on

Menjalankan Migration & Seeder Untuk Spesifik Class di Laravel

Dalam pengembangan aplikasi web menggunakan framework Laravel, migration dan seeder adalah dua fitur penting yang membantu dalam mengelola struktur database dan mengisi data awal. By default, Laravel menyediakan perintah untuk menjalankan semua migration dan seeder secara keseluruhan. Namun, terkadang kita mungkin ingin menjalankan migration atau seeder hanya untuk class tertentu. Dalam artikel ini, Kami akan membagikan cara menjalankan migration dan seeder secara spesifik untuk class di Laravel.

Menjalankan Migration untuk Spesifik Class

Migration dalam Laravel digunakan untuk mengelola struktur database. By default, Kita dapat menjalankan semua migration dengan perintah php artisan migrate. Namun, jika Kita hanya ingin menjalankan migration untuk class yang spesifik, Kita dapat menggunakan opsi --path saat menjalankan perintah migrate.

Berikut adalah langkah-langkah untuk menjalankan migration untuk spesifik class:

  1. Buat migrasi baru menggunakan perintah Artisan berikut:
php artisan make:migration migration_name --create=table_name
Enter fullscreen mode Exit fullscreen mode

Ganti "migration_name" dengan nama migration yang Kamu inginkan dan "table_name" dengan nama tabel yang ingin Kamu buat.

  1. Setelah migrasi dibuat, buka file migrasi tersebut di direktori database/migrations. Di dalam method up(), tentukan perubahan yang ingin Kamu lakukan pada tabel yang sesuai dengan class migration ini.
   public function up()
   {
       Schema::create('table_name', function (Blueprint $table) {
           $table->increments('id');
           $table->string('column_name');
           // Tambahkan kolom lain sesuai kebutuhan Anda
           $table->timestamps();
       });
   }
Enter fullscreen mode Exit fullscreen mode
  1. Simpan dan tutup file migrasi. Sekarang, Kita dapat menjalankan migration ini untuk spesifik class dengan menggunakan opsi --path saat menjalankan perintah migrate:
php artisan migrate --path=/database/migrations/migration_file_name.php
Enter fullscreen mode Exit fullscreen mode

Ganti "migration_file_name" dengan nama file migration yang baru saja Kita buat.

Dengan menggunakan opsi --path, Kita dapat menjalankan migration hanya untuk spesifik class dan menghindari migration yang tidak relevan.

Menjalankan Seeder untuk Spesifik Class

Seeder dalam Laravel digunakan untuk mengisi data awal ke dalam tabel database. By default, Kita dapat menjalankan semua seeder dengan perintah php artisan db:seed. Namun, jika Kita hanya ingin menjalankan seeder untuk spesifik class, Kita dapat menggunakan opsi --class saat menjalankan perintah db:seed.

Berikut adalah langkah-langkah untuk menjalankan seeder untuk spesifik class:

  1. Buat seeder baru menggunakan perintah Artisan berikut:
php artisan make:seeder TableNameSeeder
Enter fullscreen mode Exit fullscreen mode

Ganti "TableNameSeeder" dengan nama seeder yang Kamu inginkan.

  1. Setelah seeder dibuat, buka file seeder tersebut di direktori database/seeders. Di dalam metode run(), tentukan logika untuk mengisi data awal ke dalam tabel yang sesuai dengan class seeder ini.
   public function run()
   {
       DB::table('table_name')->insert([
           'column1' => 'value1',
           'column2' => 'value2',
           // Tambahkan data lain sesuai kebutuhan Anda
       ]);
   }
Enter fullscreen mode Exit fullscreen mode
  1. Simpan dan tutup file seeder. Sekarang, Kita dapat menjalankan seeder ini untuk class yang spesifik dengan menggunakan opsi --class saat menjalankan perintah db:seed:
php artisan db:seed --class=TableNameSeeder
Enter fullscreen mode Exit fullscreen mode

Ganti "TableNameSeeder" dengan nama seeder yang baru saja Kamu buat.

Dengan menggunakan opsi --class, Kita dapat menjalankan seeder hanya untuk class tertentu atau spesifik dan menghindari pengisian data yang tidak relevan.

Dalam pengembangan aplikasi Laravel, menjalankan migration dan seeder secara spesifik untuk class tertentu dapat memberikan fleksibilitas dan kontrol lebih dalam mengelola struktur database dan data awal Kita. Kita dapat memilih migration dan seeder yang ingin dijalankan dan menghindari yang tidak relevan, menjaga integritas dan efisiensi aplikasi Kita.

Top comments (0)