PhilWaldmann / openrecord

Make ORMs great again!
https://openrecord.js.org
MIT License
486 stars 38 forks source link
activedirectory activerecord graphql javascript ldap mysql nodejs oracle orm postgresql rest sql sqlite3

OpenRecord

Build Status Coverage Status npm package version Package Quality Code Quality: Javascript Total Alerts

OPENRECORD is an ActiveRecord inspired ORM for nodejs.

Currently it supports the following databases/datastores: SQLite3, MySQL, Postgres, Oracle, REST and LDAP (+ ActiveDirectory)
If you want to build a GraphQL endpoint for any of these databases, OPENRECORD has some built in features to support you!

As the name imply, it's open and very easy to extend. The whole package was build that way.

It has a lot of features, just take a look at the docs!

Usage example

Here is an example how to get a single post from an existing sqlite3 file (by primary key).

const Store = require('openrecord/store/sqlite3')

const store = new Store({
  file: './my-posts-db.sqlite3',
  autoLoad: true
})

store.ready(async () => {
  const post = await store.Model('Post').find(1)
  console.log(post)
})

You don't have to define your model (optional) and you also don't have to define your model's attributes (optional).
Take a look at the docs to get started!

Contributing

If you've found a bug please report it via the issues page.
Before you submit a pull request, please make sure all tests still pass.


Sponsored by digitalbits.at