Takes a set of JSON Schema definitions and returns a relational database structure capable of storing compliant data.
$ npm install relationize --save
const relationize = require('relationize')
relationize (
{
source: {
paths: [
{
namespace: 'relationizeTest',
path: '/somewhere/json-schemas/live'
}
]
}
},
function (err, dbStructure) {
// Done!
// - The value of 'dbStructure' takes the same form
// as the output generated by the 'pg-info' package.
}
)
Option | Type | Notes |
---|---|---|
source |
object |
A source object for configuring where to derive JSON Schema data from. |
Examples
- From files:
{
paths: [
{
namespace: 'relationizeTest',
path: '/somewhere/json-schemas/live'
}
]
}
- From Javascript object:
{
schemas: [
{
namespace: 'relationizeTest',
schema: {
// JSON schema here
}
}
]
}
Properties
property | Type | Notes |
---|---|---|
paths |
[object] |
An array of objects containing a namespace property (used to separate related tables into schemas_ and path (a file-path from where to load JSON files from - uses glob, so the ** pattern is supported) |
schemas |
[object] |
An array of objects containing a namespace property (used to separate related tables into schemas_ and schema (a ready-to-use JSON Schema) |
Relationize returns objects of the same form as those returned by the pg-info package. The output of Relationize can then be used to generate a relational database (complete with comments, tables, indexes and foreign key constraints) to store your JSON-structured data.
- Please refer to the pg-info docs for more details.
$ npm test