Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/better/jsonschema2db

Generate tables dynamically from a JSON Schema and insert data
https://github.com/better/jsonschema2db

json-schema postgresql python

Last synced: about 5 hours ago
JSON representation

Generate tables dynamically from a JSON Schema and insert data

Awesome Lists containing this project

README

        

[![Travis status](https://img.shields.io/travis/better/jsonschema2db/master.svg?style=flat)](https://travis-ci.org/better/jsonschema2db)

JSON Schema ➣ Database
---

We use [JSON Schema](http://json-schema.org/) pretty extensively at [Better](https://better.com) 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](https://better.engineering/jsonschema2db/) 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](https://github.com/better/jsonschema2db/blob/master/LICENSE).