Mengejar DenoGres
DenoGres 3.0 diluncurkan hari ini!
Versi baru dibangun di atas produk yang sudah sangat berguna dalam iterasi 2.0 dan 1.0; tetapi ini sepertinya saat yang tepat untuk meninjau kembali alat secara keseluruhan, logika di balik pembuatannya, dan menyoroti beberapa hal yang membuatnya sangat berguna bagi pengembang.
Pada intinya, DenoGres adalah Object Relational Mapper (ORM) untuk database PostgreSQL , dibuat untuk (dan dengan!) runtime JavaScript Deno . Jika Anda membaca ini, Anda mungkin akrab dengan tujuan ORM: pada dasarnya yaitu untuk mengintrospeksi dan menghasilkan model (sebagai kelas model JS) dari database relasional untuk membuatnya lebih mudah untuk dikerjakan secara langsung dalam kode, dan untuk meminimalkan jumlah kueri yang perlu ditulis.
DenoGres telah mengambil pendekatan berpendirian yang dirancang untuk bekerja secara khusus dengan Deno dan PostgreSQL karena beberapa keunggulan unik dari teknologi ini:
Kenapa Deno?
Deno memiliki sejumlah keunggulan (dan beberapa kelemahan) dibandingkan Node.js , pendahulu spiritualnya yang banyak digunakan. Beberapa kelebihan Deno yang paling penting dan penting, bagi saya, adalah:
- Deno menggunakan paket terdesentralisasi dan pemuatan asinkron dan caching modul ES alih-alih menggunakan manajer paket untuk menangani dependensi.
- Deno memungkinkan 'Menunggu' tingkat atas, di luar fungsi asinkron. Ini memberikan fleksibilitas pengembang dan kode bersih secara keseluruhan.
- Deno menyertakan dukungan asli untuk TypeScript — dan DenoGres ditulis dan dimaksudkan untuk digunakan dengan proyek TS.
- Tidak seperti Node, izin keamanan default Deno tidak mengizinkan program untuk mengakses disk, jaringan, subproses, atau variabel lingkungan.
Kami memilih PostgreSQL untuk DenoGres karena merupakan salah satu jenis database terbaik yang digunakan untuk proyek dengan berbagai ukuran — mulai dari proyek pribadi sederhana hingga ukuran perusahaan.
PostgreSQL adalah jenis database relasional SQL. Struktur relasionalnya memungkinkan integritas data tingkat tinggi karena skema kaku yang harus dibuat saat membuat database itu. Seperti kebanyakan database relasional, struktur ini memungkinkan penyimpanan data sesuai dengan ACID lebih mudah dibandingkan dengan struktur non-relasional.
Struktur, format, dan opsi hosting yang tersedia memungkinkan untuk memulai dan skalabilitas dengan mudah. Ada banyak cara untuk menjalankan database Postgres, dari instance sederhana (dan gratis) dari ElephantSQL atau host lain yang menyediakan database sebagai layanan, hingga solusi tingkat komersial khusus.
Yang penting, PostgreSQL adalah basis data kedua yang paling banyak digunakan di antara pengembang profesional , dan basis data relasional berbasis SQL secara keseluruhan benar-benar dominan sejauh pangsa pasar vs tipe non-relasional. Membuat DenoGres untuk bekerja dengan teknologi yang banyak digunakan berarti membuat alat yang mencerminkan preferensi modern dan juga berguna bagi pengembang di awal proses penentuan arsitektur untuk proyek baru.
Fitur DenoGres
Alat ORM
DenoGres adalah ORM berfitur lengkap serta alat satu atap untuk semua aspek manajemen basis data untuk basis data PostgreSQL dalam proyek Deno.
Sebagai ORM, DenoGres diinstal dan dijalankan dengan cepat menggunakan Deno dari baris perintah:
deno install --allow-read --allow-write --allow-net
--allow-env --allow-run --name
denogres https://deno.land/x/denogres/mod.ts
- Inisialisasi proyek menggunakan perintah 'denogres --init'.
- Introspeksi database Anda dan secara otomatis buat model TypeScript dari database Anda menggunakan perintah 'denogres --pull'
- Sinkronisasi dua arah antara model Anda dan database menggunakan perintah 'denogres --db-sync'
- Ada perintah dan metode lain untuk seeding database Anda, membandingkan model, atau menyesuaikan asosiasi.
- DenoGres memiliki logging migrasi dan pencadangan otomatis file model.ts, memungkinkan pengguna untuk kembali ke struktur skema sebelumnya.
Selain fungsionalitas inti dari alat ORM baris perintah, DenoGres menyertakan GUI bersih yang dirancang untuk membantu pengembang mengelola dan berinteraksi dengan semua aspek database PostgreSQL mereka.
- GUI dapat dijalankan menggunakan perintah 'denogres --gui'.
- Setelah berada di GUI, buat akun pengguna, yang akan menyimpan semua koneksi, kueri, ERD, dan model Anda sehingga dapat diakses dengan cepat dan mudah dari mana saja. Setelah masuk, Anda akan menemukan diri Anda di beranda dengan tautan cepat ke alat berikut:
- Koneksi — di mana pengguna dapat menambahkan, mengedit, menghapus, dan terhubung ke setiap instance PostgreSQL yang sedang berjalan.
- Konsol — formulir untuk memasukkan, menyimpan, dan menjalankan kueri SQL pada database Anda yang terhubung, serta melihat struktur model yang dihasilkan oleh ORM.
- ERD — halaman yang menampilkan Diagram Hubungan Entitas langsung dari basis data aktif Anda. Halaman ini memungkinkan pengguna untuk memindahkan tabel, memperbesar dan memperkecil, dan mengatur diagram untuk tujuan mereka, lalu mengunduh .PNG dari ERD langsung ke komputer mereka untuk dibagikan dengan orang lain.
DenoGres adalah alat yang ampuh, dibuat lebih berguna dengan fitur tambahan di versi 3.0. Karena produk open source ini dikembangkan di bawah OSLabs Tech Accelerator, iterasi baru akan terus dibuat untuk mengembangkan alat yang lebih dinamis dan dapat digunakan.
Fitur masa depan pada map meliputi:
- ERD dua arah — memungkinkan perubahan yang dilakukan pada diagram untuk memperbarui struktur database secara langsung.
- Dukungan untuk tipe database relasional lainnya — seperti MySQL atau SQLite.
- Alat yang ditingkatkan untuk memantau tidak hanya struktur database, tetapi juga metrik kinerja untuk kueri dan database secara keseluruhan.
Dokumentasi
Untuk mempelajari lebih lanjut tentang DenoGres, kunjungi:https://denogres.deno.dev/
Kontributor DenoGres 3.0:
- Azal Adeel | GitHub | LinkedIn
- Joe Hynan | GitHub | LinkedIn
- James Howat | GitHub | LinkedIn
- HaoZe Lin | GitHub | LinkedIn

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































