#### Migration manager
### Migrations folder structure

* migrations/
  * init/
    * 01-create-collections.js
      ```javascript
      db.createCollection('users');
      db.createCollection('goods');
      ```
    * 02-create-default-users.js
    ```javascript
    db.users.insertOne({firstName: 'foo', lastName: 'zoo'});
    db.users.insertOne({firstName: 'baz', lastName: 'poo'});
    ```
    * 03-create-default-goods.js
    ```javascript
    db.goods.insertOne({name: 'lemon'});
    db.goods.insertOne({name: 'orange'});
    ```
  * indexes/
    * users.json
    ```json
    [
      {name: 1}
    ]
    ```
    * goods.json
    ```json
    [
      [{name: 1}, { unique: true }]
    ]
    ```
  * version-1/
    * 01-02-2023-add-full-name.js
    ```javascript
    export const test = () => db.users.countDocuments({ fullName: { $exists: false } });
    export const up = () => db.users.updateMany({ fullName: { $exists: false } }, [{ $set: { fullName: { $concat: ['$firstName', ' ', '$lastName'] } } }])
    export const down = () => db.users.updateMany({}, {$unset: { fullName: 1 }})
    ```
    * 04-05-2023-add-user-age.js
    ```javascript
    export const test = () => db.users.countDocuments({ age: { $exists: false } });
    export const up => () => db.users.updateMany({ age: { $exists: false } }, {$set: { age: 135 }})
    export const down = () => db.users.updateMany({}, {$unset: { age: 1 }})
    ```
  * version-2/
    * 05-08-2023-add-price-to-goods.js
    ```javascript
    export const test = () => db.goods.countDocuments({ price: { $exists: false } });
    export const up => () => db.goods.updateMany({ price: { $exists: false } }, { $set: {price: 12.24} })
    export const down = () => db.goods.updateMany({}, {$unset: { price: 1 }})
    ```
