voxoco / vorm

VORM - VOXO ORM like Deno module with a simple interface and hot-swappable backends

Home Page:https://voxo.co

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VORM - VOXO ORM đź““

VORM is a simple ORM like Deno module for VOXO which provides a simple interface for various backend databases (currently MySQl and rqlite are supported).

  • Works with MySql, rqlite
  • Simple interface (single entry point)
  • Easy to swap backend database on a per query basis
  • Easy to extend with new backend databases
  • Usage of named parameters

Usage

import { Vorm } from "https://deno.land/x/vorm/mod.ts";

const db = new Vorm('mysql://root:root@localhost:3306/main', 'http://localhost:4001/db');

const res = await db.getUserById(98);
console.log(res);

Response Object

Response object is a simple object with the following properties:

{
  req: { // Request object
    sql: string, // SQL query
    vales: { [key: string]: any }, // Values for named parameters
    db: string, // Database name
    isWrite: boolean, // Is write query
    queue: boolean, // Is queued write query (rqlite only)
  },
  rows: { [param: string]: string | number }[], // Rows returned by the SELECT query
  affectedRows: number, // Number of affected rows by the INSERT/UPDATE/DELETE query
  insertId: number, // Insert ID of the INSERT query
  time: number, // Time taken to execute the query (rqlite only)
  error: string, // Error message if any
}

About

VORM - VOXO ORM like Deno module with a simple interface and hot-swappable backends

https://voxo.co

License:MIT License


Languages

Language:TypeScript 100.0%