Breaking:
- getAll removed; use getMany (same signature).
- getOne no longer accepts filter as first arg; move it to where.
Also:
- ExpressJS before/after hooks for row-level security.
- SQLite user-defined functions.
- Enums support.
40 karma · joined February 19, 2015
Breaking:
- getAll removed; use getMany (same signature).
- getOne no longer accepts filter as first arg; move it to where.
Also:
- ExpressJS before/after hooks for row-level security.
- SQLite user-defined functions.
- Enums support.
It is database agnostic. It works with sqlite, mssql, mysql, postgres, oracle, and sapase.
It gives you full intellisense without code generation - even when running pure javascript.
You can run it from the browser in a secure manner, as you can host it in express js via adapter.
I am the author.
It has a very small fooprint - well suited for Amazon lambda. We now support client over HTTP (in a safe manner), making it accessible in-browser.
Key Features:
No code generation required
Full intellisense, even when mapping tables and relations
Powerful filtering - with any, all, none at any level deep
Supports JavaScript and TypeScript
ESM and CommonJS compatible
Succint and concise syntax
Works over http
https://github.com/alfateam/rdb/blob/master/docs/docs.md#_st...
It was created because we needed a solution with persistence ignorance and that does not have any constraints on foreign key naming, columns, table and so on. By persistence ignorance I mean not needing to call model.save() or pass the connection around everywhere - just edit the properties and commit the transaction.
Everything in rdb is developed TDD outside-in. So it has a lot of unit tests, but not that many integration tests. There are running examples in the demo repo though that could be considered as kind of integration tests.
Choices against sequelize and bookshelf: that is not my mission. If you want a closer integration with express.js, those orms are a better fit than rdb. My main focus on rdb was to keep the API simple and expose as little of the interior as possible - Tell Dont Ask principle.
How to expect rdb to evolve ? -domain logic -aggregate functions -order by -support sqlLite