sedentary
v0.0.54
Published
The ORM which never needs to migrate
Downloads
26
Maintainers
Readme
sedentary
under development
Description
An ORM which automatically syncs the DB schema on models change, no migrations between versions are required.
This package is designed to make easy the process of applying changes to the database after model definition changes, more than offer a quick and easy database access interface. Applying changes to the database after releasing a new version of the application is often a frustrating problem, usually solved with migration systems. Applying changes to the database during the development stage, often results in a complex sequence of backward and forward steps through the migrations; this process is complicated more and more especially when working in team with concurrent changes to the models (or the database schema). This package tries to solve these problems all in once.
Usage
import { Sedentary } from "sedentary";
const db = new Sedentary("file.db");
class Items extends db.model("Item", {
num: db.INT,
str: db.VarChar(30)
});
(async function () {
await db.connect();
const item = Items.create();
item.num = 0;
item.str = "0";
await item.save();
const records = await Items.load({});
console.log(records); // [{ id: 1, num: 0, str: "0" }]
})();
Installation
With npm:
$ npm install --save sedentary
Disclaimer
Do not use this package itself! It does not support any DB engine.
A DB engine dedicated extension must be used:
- MySQL: planned
- PostgreSQL: sedentary-pg
- SQLite: planned
Documentation
The full documentation is on sedentary.readthedocs.io.
Compatibility
Requires:
- Node.js: v14
- TypeScript: v4.6 (or none if used in a JavaScript project).
The package is tested under all Node.js versions currently supported accordingly to Node.js Release.
To work with the package under Windows, be sure to configure bash.exe
as your script-shell.
> npm config set script-shell bash.exe
License
Bugs
Do not hesitate to report any bug or inconsistency @github.
Donating
If you find useful this package, please consider the opportunity to donate some satoshis to this bitcoin address: 1Md9WFAHrXTb3yPBwQWmUfv2RmzrtbHioB