Is knex Support mysql 8.0 version ? menghubungkan ORM knex dengan mysql 8.*
ORM adalah singkatan dari Object-Relational Mapping. Ini memungkinkan Anda untuk meminta dan memanipulasi data dari database menggunakan teknik pemrograman berorientasi objek.

Kenapa menggunakan knex ?
sebelum menjawab pertanyaan di atas, lebih baik kita mengenal dulu apa itu knex.js
Knex.js. sendiri mendeskripsikan sebagai “pembuat kueri SQL untuk Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, dan Amazon Redshift yang dirancang agar fleksibel, portabel, dan menyenangkan untuk digunakan.
Jadi kenapa saya menggunakan knex.js karena cukup dengan library javascript ORM bisa mengghubungkan ke beberapa database. karena dalam hal ini saya memiliki kendala dalam menjalan knex.js karena mysql yang saya gunakan adalah mysql version 8.
Saat mencoba melakukan query saya mendapatkan pesan error :
ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL clientsetelah googling akhirnya ketemu solusi dan masalah ini solved ;
install the mysql2 npm package and set mysql2 as client in your knexfile.js - that worked for me
production: {
client: 'mysql2',
connection: DB_CONNECTION,
pool: {
min: 2,
max: 10,
},
migrations: {
tableName: 'knex_migrations',
},
},Dengan solusi ini kita tidak perlu membuat user baru atau merubah password mysql menggunakan password native dari mysql karena untuk 'mysql' secara default tidak menggunakan mysql 8 .
