Skip to content

gitter-badger/grand-central-records

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grand Central Records (GCR)

Build Status NPM version

A promise-based Node ORM/ActiveRecord library that can connect to MySQL, Postgres, and SQLite3. Allows chainable, raw or queueable queries.


Getting started

### new GCR(connection, [table], [options])
var GCR = require('grand-central-records');

var Model = new GCR({
    adapter: "mysql",
    host: "localhost",
    database: "test",
    username: "admin",
    password: "admin"
}, "users");

Model.find(8).then(function(users) {
    console.log(users[0].name);
}).catch(console.error);

Model.select(["name","address"]).where({admin: true})
.then(function(result) {
    result.forEach(function(user) { ... });
});

Creating a new instance of the GCR object creates a connection to a new database.

  • connection object — Database connection parameters.
    • adapter — mysql/MySQL, postgresql/postgres/pg, sqlite3/sqlite
    • host, database, username, password — connection parameters
  • table string — An optional table name if only a single table is being queried.
  • options object — Options to pass to the model.
    • verbose boolean function — Turning verbose on will log all queries to the console. false by default. If a function is provided, it will be used to log all outputs.
    • idAttribute string — The name of the unique ID attribute field (defaults to 'id').
    • (see Models)
### model(table, [options])
  • table string — The name of the table the model is associated with.
  • options json — See above.

Multiple models can also be created from the same database.

var GCR = require('grand-central-records');

var db = new GCR({
    adapter: "mysql",
    host: "localhost",
    database: "test",
    username: "admin",
    password: "admin"
}, { verbose: true });

var User = db.model("users"),
    Project = db.model("projects");

Getting started

Raw queries

Models

Other functions

Query methods

Postgres


Inspiration

About

An Node.js ORM using MySQL, PG, SQLite3

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%