better / jsonschema2db

Generate tables dynamically from a JSON Schema and insert data

Home Page:https://better.engineering/jsonschema2db/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Travis status

JSON Schema ➣ Database

We use JSON Schema pretty extensively at Better to store complex data. Unfortunately the data is hard to query from SQL. To facilitate querying, this library converts objects stored in a JSON schema into flat Postgres tables with proper types.

For instance, Better uses it to generate 50+ tables automatically, with millions of rows, from a very complex JSON schema that is 7000+ lines long.

Postgres and Redshift are supported, although the latter is somewhat experimental still.

Installation

The easiest way to install is pip install jsonschema2db

Documentation

See full documentation for more info about how to use jsonschema2db!

Other

  • The code is tested with a full integration test running a Postgres server inside Docker. To run tests, run docker build -t jsonschema2db . && docker run jsonschema2db
  • Pull requests are very welcome.
  • This repo uses the MIT license.

About

Generate tables dynamically from a JSON Schema and insert data

https://better.engineering/jsonschema2db/

License:MIT License


Languages

Language:Python 98.1%Language:Dockerfile 1.9%