Anda di halaman 1dari 3

Membuat File Migrations dan Database Seed (Framework Laravel).

File Migrations sangat umum di beberapa framewirks MVC, seperti Rails, Django dan tentu saja,
Laravel. Melaui jenis file ini kita dapat menjaga basis data kita konsisten dengan aplikasi kita,
karena kita bisa melakukan versioning skema database. File migrations membatu kita untuk
menyimpan setiap perubahan dalam database kita, sehingga kita dapat membuat versi dari file-
file dan menjaga agar proyek tetap konsisten.

Databse Seeds berfungsi untuk mengisi table database dengan rekaman batch awal (data awal);
ini sangat berguna ketika kita mengembangkan aplikasi web dari awal. Dari data inisiasi awal dapat
bervariasi, dari table pengguna ke objek administarasi seperti kata sandi dan token, dan segala
sesuatu yang kita perlukan.

Mari kita lihat bagaimana kita membuat file migration untuk Bands (contoh nama file Model di
Laravel).

1. Buka terminal windows kamu dan ikuti command berikut:


 Php artisan make:migration create_bands_table
2. Buka folder “database/migrations”, dan kamu akan melihat file
<timestamp>create_bands_table.php.
3. Buka file tersebut dan paste ikuti didalam kode public function up():
Schema::create('bands', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('description');
$table->timestamps();
});

4. Paste ikuti paste didalam kode/prosedur/fungsi public function down() :


Schema::dropIfExists('bands');
5. Dan hasil akhirnya sebagai berikut:
6. Didalam folder “database/factories”, buka file ModalFactory.php dan tambahkan kode
berikut, tepat setelah “user Factory”. Perhatikan bahwa kita menggunakan library PHP
yang disebut “faker” didalam fungsi “factory”, untuk menghasilkan berberapa data:

$factory->define(App\Band::class, function (Faker\Generator $faker) {


return [
'name' => $faker->word,
'description' => $faker->sentence
];
});

7. Kembali keterminal dan buat database seed. Untuk melakukan ini, ketik perintah berikut:
 php artisan make:seeder BandsTableSeeder
8. didalam folder “database/seeds”. Buka file BrandsTableSeeder.php dan ikuti perintah
berukut, didalam fungsi public function run() :
factory(App\Band::class,5)->create()->each(function ($p) {
$p->save();
});

9. Sekarang, di folder “database/seeds”, buka file DatabaseSeeder.php dan tambahkan kode


berikut, didalam fungsi public function run();:
$this->call(BandsTableSeeder::class);
Sebelum kita melangkah lebih jauh, kita perlu melakukan refactoring kecil pada Band
model.
10. Didalam root applikasi, buka file Band.php dan tambahkan kode berikut, didalam kelas
Band:
protected $fillable = ['name','description'];

11. Kembali pada kepada terminal dan ikuti perintah berikut:

 php artisan migrate

Setelah perintah berikut, kamu akan melihat pesan berikut di terminal:

Migration table created successfully

Perintah berukut hanyalah untuk mengisi database dari seed yang kita buat.

12. Kembali ke terminal dan ikuti perintah berikut:


 php artisan db:seed
sekarang kita mempunyai lima item untuk digunakan di database kita,
Sekarang kita bisa mengecek langsung apakah berhasil atau tidak, dan hasilnya kita dapat
membuka isi dari table bands di phpmyadmin (kalau web servernya menggunakan xampp).
Hasilnya dapat dilihat dibawah ini:

Anda mungkin juga menyukai