Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PhilWaldmann/openrecord
Make ORMs great again!
https://github.com/PhilWaldmann/openrecord
activedirectory activerecord graphql javascript ldap mysql nodejs oracle orm postgresql rest sql sqlite3
Last synced: 3 months ago
JSON representation
Make ORMs great again!
- Host: GitHub
- URL: https://github.com/PhilWaldmann/openrecord
- Owner: PhilWaldmann
- License: mit
- Archived: true
- Created: 2014-01-20T11:36:30.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2021-06-28T18:38:22.000Z (over 3 years ago)
- Last Synced: 2024-09-27T20:21:15.434Z (4 months ago)
- Topics: activedirectory, activerecord, graphql, javascript, ldap, mysql, nodejs, oracle, orm, postgresql, rest, sql, sqlite3
- Language: JavaScript
- Homepage: https://openrecord.js.org
- Size: 5.98 MB
- Stars: 486
- Watchers: 19
- Forks: 38
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-nodejs-cn - OpenRecord - 类似于 ActiveRecord 的,用于 PostgreSQL,MySQL,SQLite3 和 RESTful 数据存储的 ORM (包 / 数据库)
- awesome-nodejs - OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. ![](https://img.shields.io/github/stars/PhilWaldmann/openrecord.svg?style=social&label=Star) (Repository / Database)
- awesome-nodejs-cn - OpenRecord - **star:486** ORM用于PostgreSQL、MySQL、SQLite3和RESTful数据存储ActiveRecord相似 ![项目已归档][Archived] (包 / 数据库)
- awesome-nodejs - OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. (Packages / Database)
- awesome-nodejs - openrecord - Make ORMs great again! - ★ 321 (Database)
- awesome-node - OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. (Packages / Database)
- awesome-nodejs-cn - OpenRecord - PostgreSQL,MySQL,SQLite3和RESTful数据存储的ORM。 类似于ActiveRecord. (目录 / 数据库)
README
![OpenRecord](docs/logo.png)
==========[![Build Status](https://travis-ci.org/PhilWaldmann/openrecord.svg?branch=master)](https://travis-ci.org/PhilWaldmann/openrecord)
[![Coverage Status](http://coveralls.io/repos/PhilWaldmann/openrecord/badge.png)](https://coveralls.io/r/PhilWaldmann/openrecord)
[![npm package version](http://badge.fury.io/js/openrecord.png)](https://npmjs.org/package/openrecord)
[![Package Quality](http://npm.packagequality.com/shield/openrecord.svg)](http://packagequality.com/#?package=openrecord)
[![Code Quality: Javascript](https://img.shields.io/lgtm/grade/javascript/g/PhilWaldmann/openrecord.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/PhilWaldmann/openrecord)
[![Total Alerts](https://img.shields.io/lgtm/alerts/g/PhilWaldmann/openrecord.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/PhilWaldmann/openrecord/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](https://openrecord.js.org)!
## Usage example
Here is an example how to get a single `post` from an existing sqlite3 file (by primary key).
```js
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](https://openrecord.js.org) to get started!## Contributing
If you've found a bug please report it via the [issues](https://github.com/PhilWaldmann/openrecord/issues) page.
Before you submit a pull request, please make sure all tests still pass.---
Sponsored by [digitalbits.at](https://digitalbits.at)