Belajar AdonisJS: Migration dan Seeder

Afrijal Dzuhri
WonogiriDev
Published in
3 min readAug 28, 2018

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.

konfigurasi database di file .env

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.

database schema untuk table cars

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.

menjalankan migration di adonis

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.

factory blueprint untuk 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

Seeder menggunakan factory

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 😄

--

--