Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bes-js/cherry3
Cherry3 is a SQlite And PostgreSQL object modeling tool designed to work in an asynchronous environment.
https://github.com/bes-js/cherry3
database mongodb npm orm postgres postgresql sequelize sql sqlite sqlite3
Last synced: about 13 hours ago
JSON representation
Cherry3 is a SQlite And PostgreSQL object modeling tool designed to work in an asynchronous environment.
- Host: GitHub
- URL: https://github.com/bes-js/cherry3
- Owner: Bes-js
- License: gpl-3.0
- Created: 2024-03-01T13:01:26.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-04T13:18:35.000Z (4 months ago)
- Last Synced: 2025-01-08T12:49:54.195Z (1 day ago)
- Topics: database, mongodb, npm, orm, postgres, postgresql, sequelize, sql, sqlite, sqlite3
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/cherry3
- Size: 332 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
Cherry3 is a SQlite And PostgreSQL object modeling tool designed to work in an asynchronous environment.
#
## InstallationUsing npm:
```shell
$ npm install cherry3$ npm install sqlite3 -g # ( For SQlite )
$ npm install pg -g # ( For PostgreSQL )
```Other Installations:
```bash
$ yarn add cherry3
``````bash
$ pnpm add cherry3
```#
## Features* **Simple Setup:** Get started quickly with minimal configuration.
* **SQlite And PostgreSQL Storage:** Sqlite And PostgreSQL Will Come To Your Help Because It Is Compressed, Economical And Fast.
* **Asynchronous Operations:** Perform Database Operations Asynchronously Using Promises.
* **Filter and Update:** Easily filter and update records in your collections.
#
## Documentation
[*=>* **Click Here**](https://fivesobes.gitbook.io/cherry3/)
## Usage
```js
import { Model, Schema, Types } from 'cherry3';
/* const { Model, Schema, Types } = require('cherry3'); For CommonJS */// Define a schema for a collection
const userSchema = Schema({
username: { type: Types.String, default: 'fivesobes' },
age: Types.Number,
email: { type: Types.String, default: "[email protected]" },
isAdmin: Types.Boolean,
interests: Types.Array,
balance: Types.Float,
date: Types.Date
});// Create a model for the "users" collection
const UserModel = new Model('Users', userSchema);// Example data
const userData = {
username: 'fivesobes',
age: 20,
email: '[email protected]',
isAdmin: false,
interests: ['coding', 'reading', 'ertus-mom'],
};(async () => {
// CRUD operations
try {
/* FIND USERS */// Find multiple users with conditions
const users = await UserModel.find({ age: 20, isAdmin: false });
console.log(users);} catch (error) {
console.error('Error performing CRUD operations:', error.message);
}
})();
```
#
## Settings File Definitions
[*=>* **Click Here**](https://fivesobes.gitbook.io/cherry3/sql-config-file)
#
## Types
```js
import { Types } from 'cherry3';Types.Number // Example => 5
Types.Object // Example => { test:"data text", test3: 5 }
Types.Date // Example => 1.03.2024
Types.String // Example => "test data text"
Types.Boolean // Example => true or false
Types.Array // Example => [ "five" , "so" , 5 ]
```
#
## Sqlite Viewer Extension
[For Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=yy0931.vscode-sqlite3-editor)
## PostgreSQL And Other Database Viewer Extension
[For Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=cweijan.dbclient-jdbc)
## License
Cherry3 is licensed under the **GPL 3.0** License. See the [LICENSE](./LICENSE.md) file for details.
## Changelog
[*=>* **Click Here**](./CHANGELOG.md)
## Support
[![Discord Banner](https://api.weblutions.com/discord/invite/luppux/)](https://discord.gg/luppux)