db2md

Markdown documentation generator of DB structure

npm install db2md
4 downloads in the last week
4 downloads in the last month

node-db2md

Build Status Dependency Status Coverage Status

db2md is a tool for generation documentation of your DB structure in markdown. It could be useful if you use github wiki / gitlab wiki / gollum or any other wiki system that supports markdown syntax.

First step

  • Install from NPM
npm install db2md -g
{
    "user": "user",
    "database": "test",
    "tables": {
        "my_table": {}
    }
}
  • Generate
db2md

Console API

Usage: db2md [options]

Options:

    -h, --help           output usage information
    -V, --version        output the version number
    -c, --config [path]  path to configuration file. Default: ./db2md.json
    -o, --output <path>  file to write output
    -G, --nogeneratedby  no write 'Generated by' block

Example output

This example was rendered with configuration.

{
    "user": "travis",
    "database": "db2md",
    "header": "# This is example of db2md output",
    "tables": {
        "folder": {
            "header": "The only one table now present"
        }
    }
}

Configuration file db2md.json

DB Connection params

user - db user name, default: null.

pass - db user password, default: null.

database [required] - db name.

"user": "test",
"pass": "test",
"database": "test"

header and footer - markdown strings that will be placed at beginning and at the and of output.

"header": "This is global header.\nHeader next line.",
"footer": "This is global footer.\nFooter next line."

Tables directive as JSON object (optional)

tables is a JSON object where key - name of table in db and value - options for this table.

header and footer - markdown strings that will be placed at beginning (after table name) and at the and of table output.

"tables": {
    "first_table": {
        "header": "First table header.",
        "footer": "First table footer."
    }
}

Tables directive as string pattern (optional)

tables is a string that will be converted to RegExp pattern to filter all tables according to it.

In next example "tables" will changed to JSON with all tables with prefix my_table_prefix.

"tables": "^my_table_prefix.*"

Groups directive (optional)

Groups designed to output logically related tables.

groups - array of objects with tables directive.

groups[].header and groups[].footer - markdown strings that will be placed at beginning and at the and of group output.

tables [required] - see Tables directive.

"groups": [
    {
        "header": "This is group header.\nHeader next line.",
        "footer": "This is group footer.\nFooter next line.",
        "tables": {
            "third_table": {
                "header": "Third table header.",
                "footer": "Third table footer."
            }
        }
    }
]

Thanks to

@Janry

npm loves you