Belajar AdonisJS: Migration dan Seeder
Persiapan
Pastikan teman-teman sudah menginstall:
Buat project Adonis
Pertama-tama kita membuat project baru
adonis new showroom --api-only
Dalam kasus ini saya akan mencontohkan dengan nama project showroom
dan flag --api-only
digunanakn untuk mengidentifikasi bahwa project yang akan kita buat hanya untuk API saja.
Konfigurasi Database
Setelah project terbuat, saatnya kita mengkonfigurasi database yang akan digunakan di project kita nantinya. Disini database yang akan kita gunakan adalah mysql.
Kita buat dulu databasenya, bisa lewat terminal dengan create database showroom
atau dengan masuk ke phpmyadmin
dan buat database baru dengan nama showroom
Ubah file .env
dan atur menjadi
sesuaikan dengan credential teman-teman.
Install driver mysql
di project
npm i mysql
Setelah selesai konfigurasi database, untuk mencobanya kita jalankan perintah
adonis migration:run
Dengan itu adonis akan menjalankan file migration yang ada di folder databases/migrations
yang ada secara default yang nantinya akan membuat table baru di database, table users
dan table token
. Sebenarnya table tersebut tidak kita gunakan disini, bisa dihapus, tapi tidak apa-apa diabaikan saja.
Jika perintah migration itu berhasil, berarti koneksi project kita ke database sudah benar.
Membuat table baru
Data yang akan kita tampilkan untuk pagination nanti berasal dari table baru yang kita buat. Untuk membuat table nya, kita jalankan perintah
adonis make:migration car
Disini kita akan membuat table dengan nama cars
jadi setelah menjalankan perintah tersebut, pilih create table.
Lalu setelah file migrationnya terbuat di database/migrations
kita buka file migration tersebut dan kita buat schema databasenya.
Saya hanya akan menggunakan column tersebut.
Untuk membuat tablenya, jalankan perintah
adonis migration:run
Maka adonis akan menjalankan migration sesuai dengan urutan yang belum tereksekusi. Dalam kasus di project ini yaitu file migration car schema.
Seeding data
Agar pada saat mengambil data dari table cars
sudah ada data yang muncul, maka kita perlu membuat dummy data untuk contoh.
adonis make:seed car
Untuk membuat seedernya, lalu kita buat modelnya car.
adonis make:model car
setelah model terbuat, masuk ke file database/factory
untuk membuat blueprint model car.
Dari factory tersebut kita nanti akan membuat data dengan faker sebagai generatornya.
Kembali lagi ke file di database/seeds/CarSeeder.js
lalu isikan
Kita akan membuat dummy data sebanyak 55 menggunakan factory blueprint yang sudah kita buat sebelumnya. Untuk membuat datanya
adonis seed --files CarSeeder.js
Kita hanya akan menjalankan CarSeeder.js
yang akan memasukkan data ke database.
Setelah berhasil, cek di table cars
di database
SELECT * from cars
Maka seharusnya table tersebut sudah ada datanya.
Sekian postingan saya kali ini, tunggu kelanjutannya lagi.
Terima kasih sudah memberi claps 😄