# Penta-Mapping

penta-mapping is a tool to extracts meta data from databases in a graph data structure in JSON format.

## Features

- supports DBMS: MongoDb, MySql, and Oracle.
- configuration file with connection strings are read from a .json config file.
- output file describes graph data structure

And of course penta-mapping itself is open source as a private package on https://www.npmjs.com/

## How to Use

penta-mapping requires [Node.js](https://nodejs.org/) v13+ to run. It takes three parameters: configFile, outputDirectory, and outputFile. As an example, you can execute the package using npx command as follow:

```sh
npx penta-mapping config.json . schema_all.json
```


Example of config.json:

```sh
{
    "configuration" : [
      {
        "DBMS"      : "MongoDB",
        "HOSTNAME"  : "localhost",
        "PORT"      : "27017",
        "ADMIN"     : "adminpassword",
        "TEST"      : "",
        "DATABASE"  : "Job_Network"
      },
      {
        "DBMS"      : "MySQL",
        "HOSTNAME"  : "localhost",
        "PORT"      : "3306",
        "ADMIN"     : "",
        "TEST"      : "",
        "USER"      : "root",
        "PASSWORD"  : "rootpassword",
        "DIALECT"   : "mysql",
        "DATABASE"  : "job_database"
      },
      {
        "DBMS"        : "Oracle",
        "HOSTNAME"    : "localhost",
        "PORT"        : "1521",
        "USER"        : "hr",
        "PASSWORD"    : "hr",
        "SERVICE_NAME": "XEPDB1",
        "OWNERS"      : "HR"
      }
    ]
}
```


## License

Penta License

