# @reaperx/grator

> A small CLI tool to build and run mongodb migrations

Latest version **1.1.4** (published 2025-01-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install @reaperx/grator
pnpm add @reaperx/grator
yarn add @reaperx/grator
bun add @reaperx/grator
```

Provides the command `grator`.

## Health

**Score 25/100 (F)** — status: maintenance-mode.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.4 |
| Published | 2025-01-11 |
| First published | 2021-05-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 13.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Maintainers | reaperx |

## Links

- npm: https://www.npmjs.com/package/@reaperx/grator
- Repository: https://github.com/jcgato93/grator
- Homepage: https://github.com/jcgato93/grator#readme
- Issues: https://github.com/jcgato93/grator/issues
- npm.io page: https://npm.io/package/@reaperx/grator

## Dependencies (4)

- [chalk](https://npm.io/package/chalk.md) ^2.4.2
- [yargs](https://npm.io/package/yargs.md) ^13.2.4
- [dotenv](https://npm.io/package/dotenv.md) ^9.0.2
- [mongodb](https://npm.io/package/mongodb.md) ^3.6.8

## Recent versions

- 1.1.4 (latest) — 2025-01-11
- 1.1.3 — 2022-10-07
- 1.1.2 — 2021-06-03
- 1.1.1 — 2021-05-30
- 1.1.0 — 2021-05-30
- 1.0.0 — 2021-05-28

## README

# grator
## Install
---
    $ npm install @reaperx/grator

## Usage
---
We will need to set up the environment variables to connect  to mongo database

```
MONGO_DB_USER=
MONGO_DB_PASSWORD=
MONGO_DB_HOST=
MONGO_DB_NAME=
```

- create migration
    
        $ npm run grator -c migration_name

- run migrations

        $ npm run grator -r

- undo last migration

        $ npm run grator -u

## Examples

Into migration file we have an instance of the database, this use https://www.npmjs.com/package/mongodb

```javascript
exports.up = async db => {

   await db.collection('books').update(
    {"reorder": {$exists: true}}, 
    {$rename:{"reorder":"sort"}},
    false,
    true
    );
}

exports.down = async db => {
  
    await db.collection('books').update(
        {"reordenar": {$exists: true}}, 
        {$rename:{"sort":"reorder"}},
        false,
        true
    );
};
```

---
_Source: https://npm.io/package/@reaperx/grator · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
