Database-Jones

This package name is not currently in use, but was formerly occupied by another package. To avoid malicious use, npm is hanging on to the package name, but loosely, and we'll probably give it to you if you want it.


License
ISC
Install
npm install Database-Jones@0.0.1-security

Documentation

Database Jones

Introduction

See our latest presentation [on slideshare] (http://www.slideshare.net/jdduncan/building-nodejs-applications-with-database-jones).

This package provides a fast, easy, and safe framework for building database applications in Node.js.

Here is an example using Database Jones to store a single object (a JSON literal) into an existing MySQL table:

var jones = require("database-jones");

var connectionProperties = new jones.ConnectionProperties("mysql");

jones.openSession(connectionProperties).then(
  function(session) {
    var user = { id: 1, name: "Database Jones"};
    return session.persist("user", user);
  }).
  then(function() { console.log("Complete"); }, console.trace).
  then(jones.closeAllOpenSessionFactories);

Key features include:

  • Simple API for create, read, update, delete
  • Bulk operations for high performance
  • Support for ACID transactions, both explicit and implicit
  • Flexible mapping from JavaScript objects to relational tables
  • A fluent Query language using domain model tokens
  • Default mapping of a relational table to a simple object
  • Projection of several related tables to a complex object structure
  • Asynchronous API using well-known node.js callback patterns
  • Promises/A+, allowing easier management of callbacks
  • Connection pooling, allowing in-process scale up

Quick Install

The whole project can be used directly from a github clone if core.symlinks is set to true.

git config --global --add core.symlinks true
git clone http://github.com/mysql/mysql-js

To use the mysql adapter, you will also need node-mysql.

To use the ndb adapter, you need MySQL Cluster, and you must use node-gyp to build the C++ source code under jones-ndb.

Sample applications

More information

See the complete README.md file under database-jones

Directory Structure

  • database-jones

    Lightweight object mapping layer for SQL and NoSQL databases.

  • jones-mysql

    Jones adapter for MySQL. Licensed GPL v2. Requires node-mysql.

  • jones-ndb

    Native Jones adapter for MySQL Cluster. Licensed GPL v2. Uses the low-level NDBAPI for data operations, but requires jones-mysql for certain metadata operations such as creating tables.

  • jones-test

    A high-performance stand-alone test harness. Jones-test is able to manage concurrent and serial tests, run hundreds of tests per second, and run combined test suites from several projects (for instance, running both the common database-jones tests and the jones-mysql specific tests all from a single test driver).

  • jones-promises

    An implementation of Promises/A+ used by database-jones.

  • unified_debug

    A printf-style debug library providing a single diagnostic environment for both C and JavaScript.

  • perftest

    Contains jscrund, a simple benchmarking tool for Jones.

  • loader

    A data loader implemented as a Jones application

  • samples

    Sample code using Jones

  • shell

    A database command shell based on Jones