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.