Database di Elysia-Light
Elysia-Light menyediakan ORM ringan yang dibangun di atas Knex.js. ORM ini tidak menggantikan Knex, melainkan memperluasnya dengan struktur model, helper query, dan integrasi langsung dengan ControllerContext. Dengan pendekatan ini, developer tetap bisa menggunakan seluruh API Knex.js kapan pun dibutuhkan.
Filosofi ORM Elysia-Light
ORM di Elysia-Light dirancang untuk menyederhanakan kebutuhan umum seperti query list, pagination, search, filter, dan response API, tanpa mengunci developer pada abstraksi berat. Jika kebutuhan sederhana, gunakan ORM. Jika kebutuhan kompleks atau spesifik, gunakan Knex secara langsung.
Query Dasar dengan ORM
Method query() digunakan untuk memulai query berbasis model. Method resolve(c) akan membaca parameter dari ControllerContext seperti pagination, search, sort, dan filter.
Kode berhasil di copy!
5
Membuat dan Menyimpan Record
ORM Elysia-Light mendukung pembuatan record dengan pendekatan instance-based maupun static helper.
Kode berhasil di copy!
5
Kode berhasil di copy!
5
ORM dan Knex.js
Karena ORM ini dibangun di atas Knex.js, seluruh fungsi Knex tetap bisa digunakan tanpa batasan. ORM hanya menambahkan struktur model dan helper, bukan menggantikan query builder bawaan Knex.
Menggunakan Knex Secara Langsung
Untuk query kompleks, join berat, atau operasi khusus database, gunakan Knex langsung melalui db.query().
Kode berhasil di copy!
5
Menggabungkan ORM dan Knex
Pendekatan yang umum adalah menggunakan ORM untuk kebutuhan CRUD dan list data, lalu Knex untuk laporan, analytic, atau query khusus. Keduanya dapat hidup berdampingan tanpa konflik.
Kode berhasil di copy!
5
Best Practice
Gunakan ORM untuk kebutuhan standar agar kode konsisten dan ringkas. Gunakan Knex langsung untuk kebutuhan kompleks. Jangan memaksa ORM untuk menyelesaikan semua masalah query.