API Dengan AdonisJS dan MySQL

Tutorial Membuat API Menggunakan 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 jadi kamu bisa ikuti terlebih dahulu tutorial sebelumnya agar bisa mengikuti tutorial ini dengan mudah.

Baca Artikel Sebelumnya : Membuat API Menggunakan AdonisJS – Part 1

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.

Bersambung ke : Tutorial Membuat API Menggunakan AdonisJS – Part 3

Tinggalkan komentar