Tutorial Membuat API Menggunakan AdonisJS – Part 2

Dipublikasikan oleh El Cicko pada

api dengan adonisjs part 2

Pada tutorial kali ini saya akan membahas bagaimana cara membuat API menggunakan AdonisJS dan menghubungkan API dengan database MySQL. Tutorial ini adalah lanjutan dari artikel saya sebelumnya yang juga membahas tentang cara membuat API menggunakan AdonisJS jadi kamu bisa ikuti terlebih dahulu tutorial sebelumnya agar bisa mengikuti tutorial ini dengan mudah.

Membuat API Menggunakan AdonisJS – Database MySQL

Pada bagian ini kita akan menggunakan database MySQL dan menghubungkan database tersebut dengan API yang akan kita buat. Pertama, kita buat database terlebih dahulu di MySQL dengan nama cafe. Struktur table yang akan kita buat adalah sebagai berikut :

CREATE TABLE `cafe` (
  `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `cafe_name` varchar(255) NOT NULL,
  `address` text NOT NULL,
  `latitude` float NOT NULL,
  `longitude` float NOT NULL,
  `created_at` timestamp NULL ON UPDATE CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL
);

Karena kita akan membuat table dengan menggunakan fitur migration jadi kita tidak akan membuat table dengan menggunakan query SQL. Untuk menghubungkan database MySQL dengan AdonisJS kita buka file .env yang ada di root project lalu ubah konfigurasi database sesuai dengan environment yang kamu miliki seperti berikut :

DB_CONNECTION = mysql
DB_HOST = YOUR_LOCALHOST_ADDRESS
DB_PORT = YOUR_PORT
DB_USER = YOUR_DB_USER
DB_PASSWORD = YOUR_DB_PASSWORD
DB_DATABASE= YOUR_DATABASE_NAME

Setelah konfigurasi selesai sekarang kita lakukan database migration, jalankan perintah berikut pada console

adonis migration:run

AdonisJS akan melakukan migration terhadap database yang sudah kita buat sehingga akan muncul beberapa table di dalam database yang sudah kita buat sehingga hasilnya sebagai berikut.

API Dengan AdonisJS dan MySQL

Sekarang kita akan membuat table cafes dengan menggunakan migration. Pada console yang aktif jalankan perintah pada console seperti berikut

$ adonis make:migration cafes
> Choose an action Create table
✔ create  database/migrations/1570879253690_cafes_schema.js

Sekarang kita buka file 1570879253690_cafes_schema.js yang ada di folder database. Sekarang kita ubah file tersebut

'use strict'

/** @type {import('@adonisjs/lucid/src/Schema')} */
const Schema = use('Schema')

class CafesSchema extends Schema {
  up () {
    this.create('cafes', (table) => {
      table.increments()
      table.string('cafe_name', 80).notNullable().unique()
      table.text('cafe_address').notNullable()
      table.float('latitude', 10,4).notNullable()
      table.float('longitude', 10, 4).notNullable()
      table.timestamps()
    })
  }

  down () {
    this.drop('cafes')
  }
}

module.exports = CafesSchema

Setelah itu jalankan migration dengan perintah adonis migration:run.

API Dengan AdonisJS dan MySQL

Fitur migration berfungsi agar kita dapat mengotak-atik struktur table tanpa harus menyentuh MySQL sama sekali. Kita hanya perlu mengubah struktur pada file schema seperti diatas.

Keunggulan dari migration adalah adanya fitur versioning dimana setiap perubahan struktur table pada database akan dicatatan dan kita dapat kembali mundur ke perubahan sebelumnya jika terjadi kesalahan / error pada database kita.

Pada tahap ini koneksi database MySQL dan API dengan AdonisJS sudah selesai. Saya akan membahas Controller dan Model pada AdonisJS di artikel berikutnya. Semoga bermanfaat.


El Cicko

Nama saya Riky Fahri Hasibuan, Saya yang biasa nulis di blog ini. Blog ini adalah sarana dokumentasi dari apa yang saya kerjakan dan tidak ada salahnya juga saya sebarkan. Jika artikel di blog bermanfaat, kamu bisa memberikan apresiasi pada blog ini dengan memberikan donasi pada blog ini.

0 Komentar

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *