Convert JSON objects to MySQL, JSON Schema, Mongoose, Google BigQuery, ClickHouse, and generic schemas.
Generate Schemas is a Node.js library that automatically converts JSON objects into various database and validation schemas. It solves the problem of manually writing schemas for systems like MySQL, JSON Schema, Mongoose, Google BigQuery, and ClickHouse by inferring structure from sample data.
Developers and data engineers working with multiple database systems or needing to generate validation schemas from existing JSON data structures.
It saves significant development time by automating schema creation, ensures consistency between data and schemas, and supports a wide range of popular data storage and validation formats through a simple API and CLI.
🧞 Convert JSON Objects to MySQL, JSON Schema, Mongoose, Google BigQuery, Swagger, and more.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates schemas for MySQL, JSON Schema, Mongoose, Google BigQuery, ClickHouse, and a generic template, as listed in the README's methods, covering diverse database and validation needs.
Includes a command-line interface with interactive REPL mode for quick testing and schema generation from JSON inputs, demonstrated in the example with bigquery output.
Accepts single JSON objects or arrays to infer schema structures, allowing bulk generation from sample data sets, as shown in the usage example with an array of products.
Offers JavaScript methods like GenerateSchema.mysql() and GenerateSchema.json() for easy integration into Node.js applications or build pipelines, detailed in the methods section.
The tool infers schemas automatically without allowing specification of custom constraints, data types, or validation rules, which can lead to oversimplified schemas for complex data.
The README does not address how invalid JSON inputs or edge cases like mixed-type arrays are handled, risking incorrect schema generation without clear feedback.
Relies on deprecated Travis CI for builds and has no recent updates mentioned, suggesting potential compatibility issues with newer database versions or Node.js releases.