11# SchemaForge
22
3- ** Bidirectional ORM schema converter** — convert between SQL DDL, Prisma, Drizzle, TypeORM, and Django models with zero-loss roundtripping.
3+ ** Bidirectional ORM schema converter — convert between SQL DDL, Prisma, Drizzle, TypeORM, and Django models with zero-loss roundtripping.**
44
5- ## Why SchemaForge?
5+ [ ![ PyPI] ( https://img.shields.io/pypi/v/schemaforge )] ( https://pypi.org/project/schemaforge/ )
6+ [ ![ Python] ( https://img.shields.io/pypi/pyversions/schemaforge )] ( https://pypi.org/project/schemaforge/ )
7+ [ ![ License] ( https://img.shields.io/pypi/l/schemaforge )] ( https://github.com/Coding-Dev-Tools/schemaforge/blob/main/LICENSE )
8+ [ ![ CI] ( https://github.com/Coding-Dev-Tools/schemaforge/actions/workflows/test.yml/badge.svg )] ( https://github.com/Coding-Dev-Tools/schemaforge/actions/workflows/test.yml )
69
7- Every major ORM migration is a one-way street. Prisma can introspect SQL but can't export back. Drizzle users manually rewrite schemas when switching ORMs. No tool does bidirectional, lossless conversion between 5+ ORM formats.
10+ ** Why SchemaForge? ** Every major ORM migration is a one-way street. Prisma can introspect SQL but can't export back. Drizzle users manually rewrite schemas when switching ORMs. TypeORM developers are locked into decorator syntax. No tool does bidirectional, lossless conversion between 5+ ORM formats — until now .
811
9- SchemaForge fills this gap — the # 1 market opportunity according to our research .
12+ SchemaForge fills this gap. Convert any schema to any format, verify equivalence with the diff command, and batch-process entire directories. Whether you're migrating from Prisma to Drizzle, sharing a schema with a Django backend, or generating SQL DDL from TypeORM entities, SchemaForge handles it with zero information loss .
1013
1114## Quick Start
1215
@@ -23,24 +26,106 @@ schemaforge diff schema.prisma schema.drizzle.ts
2326schemaforge convert --from sql --to prisma --dir ./schemas/
2427```
2528
29+ ## Commands
30+
31+ ### ` schemaforge convert `
32+
33+ Convert a schema from one format to another.
34+
35+ ``` bash
36+ schemaforge convert --from prisma --to drizzle --input schema.prisma
37+ schemaforge convert --from sql --to prisma --input schema.sql --output schema.prisma
38+ schemaforge convert --from typeorm --to django --input entities/
39+ schemaforge convert --from django --to drizzle --input models.py --output schema.drizzle.ts
40+ ```
41+
42+ All direction pairs are fully supported — every format can convert to every other format.
43+
44+ ### ` schemaforge diff `
45+
46+ Show differences between two schema files in the same format.
47+
48+ ``` bash
49+ schemaforge diff schema-v1.prisma schema-v2.prisma
50+ schemaforge diff schema.sql schema-updated.sql --format sql
51+ ```
52+
53+ Detects added, removed, and modified tables, columns, indexes, and constraints.
54+
2655## Supported Formats
2756
28- | Format | Import | Export |
29- | --------| --------| --------|
30- | SQL DDL | ✅ | ✅ |
31- | Prisma schema | ✅ | ✅ |
32- | Drizzle schema | ✅ | ✅ |
33- | TypeORM entities | ✅ | ✅ |
34- | Django models | ✅ | ✅ |
57+ | Format | Import | Export | Roundtrip |
58+ | --------| :------:| :------:| :---------:|
59+ | SQL DDL | ✓ | ✓ | ✓ |
60+ | Prisma schema | ✓ | ✓ | ✓ |
61+ | Drizzle schema | ✓ | ✓ | ✓ |
62+ | TypeORM entities | ✓ | ✓ | ✓ |
63+ | Django models | ✓ | ✓ | ✓ |
64+
65+ ## Features
66+
67+ - ** Bidirectional conversion** — every supported format can convert to and from every other format
68+ - ** Zero-loss roundtripping** — ` sql → prisma → sql ` produces the same schema you started with
69+ - ** Diff mode** — compare two schemas in the same format and see line-level differences
70+ - ** Batch mode** — convert entire directories of schema files
71+ - ** Type mapping** — intelligent type system mapping between ORMs (e.g., Prisma ` String ` ↔ Django ` CharField ` ↔ SQL ` VARCHAR ` )
72+ - ** Relation preservation** — foreign keys, indexes, and unique constraints maintained across conversions
73+
74+ ## Pricing
75+
76+ SchemaForge is one of eight tools in the Revenue Holdings suite. One license covers all CLI tools.
77+
78+ | Plan | Price | Best For |
79+ | ------| -------| ----------|
80+ | ** Free** | $0 | Individual devs, OSS — CLI only, rate-limited |
81+ | ** SchemaForge Individual** | ** $15/mo** ($12 billed annually) | Professional devs — unlimited conversions, batch mode |
82+ | ** Suite (all 8 tools)** | ** $49/mo** ($39 billed annually) | Full Revenue Holdings toolkit — 40% savings |
83+ | ** Team** | ** $79/mo** ($63 billed annually) | Up to 5 devs — shared schemas, team dashboard, alerts |
84+ | ** Enterprise** | Custom | SSO, RBAC, compliance reports, dedicated support |
85+
86+ 🔹 ** No lock-in** : CLI works fully offline on the free tier — no telemetry, no phone-home.
87+ 🔹 ** Annual billing** : Save 20%.
88+
89+ ### Per-Tier Features
90+
91+ | Feature | Free | Individual | Suite | Team | Enterprise |
92+ | ---------| :----:| :----------:| :-----:| :----:| :----------:|
93+ | CLI: convert, diff | ✓ | ✓ | ✓ | ✓ | ✓ |
94+ | All 5 format directions | — | ✓ | ✓ | ✓ | ✓ |
95+ | Batch directory conversion | — | ✓ | ✓ | ✓ | ✓ |
96+ | Zero-loss roundtrip verification | — | ✓ | ✓ | ✓ | ✓ |
97+ | Custom type mappings | — | ✓ | ✓ | ✓ | ✓ |
98+ | Team shared type mappings | — | — | — | ✓ | ✓ |
99+ | Dashboard & analytics | — | — | — | ✓ | ✓ |
100+ | Compliance reports | — | — | — | — | ✓ |
101+ | RBAC / SSO / SAML / OIDC | — | — | — | — | ✓ |
102+ | Priority support | Community | 24h | 24h | 8h | Dedicated |
103+
104+ ---
105+
106+ <p align =" center " >
107+ <sub >Part of <a href =" https://coding-dev-tools.github.io/revenueholdings.dev/ " >Revenue Holdings</a > — CLI tools built by autonomous AI.</sub >
108+ </p >
35109
36110## Roadmap
37111
38- - v0.1.0: SQL DDL ↔ Prisma bidirectional conversion
39- - v0.2.0: Drizzle support added
40- - v0.3.0: TypeORM support
41- - v0.4.0: Django models support
42- - v0.5.0: Diff mode, batch mode, custom type mappings
112+ | Version | Features |
113+ | ---------| ----------|
114+ | v0.1.0 | SQL DDL ↔ Prisma bidirectional conversion |
115+ | v0.2.0 | Drizzle support |
116+ | v0.3.0 | TypeORM support |
117+ | v0.4.0 | Django models support |
118+ | v0.5.0 | Diff mode, batch mode, custom type mappings |
119+
120+ ### Planned
121+
122+ - [ ] Custom type mapping configuration files
123+ - [ ] JSON Schema import/export
124+ - [ ] GraphQL schema export
125+ - [ ] MCP server for AI-assisted schema operations
126+ - [ ] VS Code extension with live diff
127+ - [ ] CI/CD check: enforce schema consistency across branches
43128
44129## License
45130
46- MIT — Revenue Holdings
131+ MIT — see [ LICENSE ] ( LICENSE )
0 commit comments