Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/louislam/redbean-node
RedBeanNode is an easy to use ORM tool for Node.js, strongly inspired by RedBeanPHP.
https://github.com/louislam/redbean-node
bean knex mariadb mysql orm query redbean redbean-node redbeannode redbeanphp sql sqlite
Last synced: about 1 month ago
JSON representation
RedBeanNode is an easy to use ORM tool for Node.js, strongly inspired by RedBeanPHP.
- Host: GitHub
- URL: https://github.com/louislam/redbean-node
- Owner: louislam
- License: mit
- Created: 2020-10-06T08:04:20.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-18T07:52:04.000Z (about 1 year ago)
- Last Synced: 2024-11-11T13:40:43.053Z (about 2 months ago)
- Topics: bean, knex, mariadb, mysql, orm, query, redbean, redbean-node, redbeannode, redbeanphp, sql, sqlite
- Language: TypeScript
- Homepage: http://redbean-node.whatsticker.online
- Size: 526 KB
- Stars: 30
- Watchers: 3
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RedBeanNode
[![npm](https://img.shields.io/npm/dt/redbean-node)](https://www.npmjs.com/package/redbean-node)
[![pipeline status](https://img.shields.io/gitlab/pipeline/louislam/redbean-node/master?label=build)](https://gitlab.com/louislam/redbean-node/-/commits/master)
[![Coverage Status](https://img.shields.io/coveralls/github/louislam/redbean-node)](https://coveralls.io/github/louislam/redbean-node?branch=master)
[![npm](https://img.shields.io/npm/v/redbean-node)](https://www.npmjs.com/package/redbean-node)### ⚠️Warning: Early Development. Do not use it on production!
RedBeanNode is an easy to use **ORM** tool for Node.js, strongly inspired by RedBeanPHP.
* **Automatically** creates **tables** and **columns** as you go
* No configuration, just fire and forget
* Ported RedBeanPHP's main features and api design
* Build on top of knex.js
* Supports **JavaScript** & **TypeScript**
* **async/await** or **promise** friendly## Supported Databases
* MySQL / MariaDB
* SQLite## Installation
```shell script
npm install redbean-node --save
```## Read More
Docs:
http://redbean-node.whatsticker.online## Playground
Try RedBeanNode in browser!
https://runkit.com/louislam/redbeannode-playground
## Code Example
This is how you do CRUD in RedBeanNode:
```javascript
const {R} = require("redbean-node");// Setup connection
R.setup();(async () => {
let post = R.dispense('post');
post.text = 'Hello World';// create or update
let id = await R.store(post);// retrieve
post = await R.load('post', id);console.log(post);
// delete
await R.trash(post);// close connection
await R.close();
})();```
This **automatically generates** the tables and columns... on-the-fly. It infers relations based on naming conventions.
# Unit Test
Please build the project before run the test.
# Additional
Icons made by Vitaly Gorbachev from https://www.flaticon.com