You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: VS Code extension with live preview, diff, and quick convert (v1.7.0)
- New companion repo: vscode-schemaforge/ — VS Code extension
- Commands: convert, quickConvert (Ctrl+Alt+S), diff, detect (Ctrl+Alt+D)
- Live Preview WebView panel showing all format conversions
- Custom editor for .schemaforge files
- Schema diff using VS Code native diff editor
- Right-click context menu for schema files
- pyproject.toml: bumped to v1.7.0, updated description (11 formats)
- README: updated format tables, VS Code extension section, roadmap
- Architecture diagram updated to include all 11 formats
**Why SchemaForge?** Every major ORM migration is a one-way street. Prisma introspects SQL but can't export back. Drizzle users manually rewrite schemas when switching ORMs. TypeORM developers are locked into decorator syntax. SchemaForge is the first tool to do **bidirectional, lossless conversion** between 9 schema formats — with a shared internal representation that guarantees roundtrip fidelity.
12
12
13
-
Convert any schema to any format, verify equivalence with the diff command, generate Alembic migrations, produce JSON Schema definitions, create GraphQL SDL types, and batch-process entire directories. Whether you're migrating from Prisma to Drizzle, sharing a schema with a Django backend, or exposing your data model as GraphQL — SchemaForge handles it.
13
+
Convert any schema to any format, verify equivalence with the diff command, generate Alembic migrations, produce JSON Schema definitions, create GraphQL SDL types, convert Entity Framework (C#) entities, generate Scala case classes, and batch-process entire directories. Whether you're migrating from Prisma to Drizzle, sharing a schema with a Django backend, exposing your data model as GraphQL, translating C# entities to Scala, or working with the SchemaForge VS Code extension for live preview — SchemaForge handles it.
14
14
15
15
## Quick Start
16
16
@@ -111,6 +111,8 @@ Detects added, removed, and modified tables, columns, indexes, and constraints.
111
111
| Alembic migrations | — | ✓ | — |
112
112
| JSON Schema | ✓ | ✓ | ✓ |
113
113
| GraphQL SDL | ✓ | ✓ | ✓ |
114
+
| EF Core (C#) | ✓ | ✓ | ✓ |
115
+
| Scala case class | ✓ | ✓ | ✓ |
114
116
115
117
**Alembic** is generator-only: you can create migration scripts from any format, but parsing existing migrations back to IR is not yet supported.
116
118
@@ -127,6 +129,8 @@ Detects added, removed, and modified tables, columns, indexes, and constraints.
127
129
|`alembic`| Alembic migration scripts |
128
130
|`json_schema`| JSON Schema (draft 2020-12) |
129
131
|`graphql`| GraphQL SDL |
132
+
|`ef`| Entity Framework Core (C#) |
133
+
|`scala`| Scala case classes (Doobie/Quill/Slick) |
130
134
131
135
## How It Works
132
136
@@ -137,15 +141,17 @@ SchemaForge uses a **shared Internal Representation (IR)** — all formats conve
137
141
-**Extensibility**: adding a new format requires only a parser and a generator — no pairwise converters
138
142
139
143
```
140
-
SQL DDL ───┐
141
-
Prisma ────┤
142
-
Drizzle ───┤
143
-
TypeORM ───┼──▶ Shared IR ──▶ Any Format
144
-
Django ────┤
145
-
SQLAlchemy ───┤
146
-
Alembic ────┤
147
-
JSON Schema ──┤
148
-
GraphQL ────┘
144
+
| SQL DDL ───┐
145
+
| Prisma ────┤
146
+
| Drizzle ───┤
147
+
| TypeORM ───┤
148
+
| Django ────┤
149
+
| SQLAlchemy ───┤
150
+
| Alembic ────┤
151
+
| JSON Schema ──┤
152
+
| GraphQL ────┤
153
+
| EF Core ─────┤
154
+
| Scala ─────┤
149
155
```
150
156
151
157
Each parser reads format-specific syntax and builds a schema IR. Each generator takes the same IR and produces format-native output. The `fn:` prefix convention preserves SQL function defaults (CURRENT_TIMESTAMP, NOW(), gen_random_uuid()) across format boundaries.
@@ -233,15 +239,18 @@ Each fixture demonstrates the same blog schema so you can compare ORM syntax sid
233
239
234
240
## Features
235
241
236
-
- **Bidirectional conversion** — all 9 formats convert to and from every other format (72 direction pairs)
242
+
- **Bidirectional conversion** — all 11 formats convert to and from every other format
237
243
- **Zero-loss roundtripping** — `sql → prisma → sql` reproduces the original schema exactly
238
244
- **Custom type mappings** — YAML/JSON config files to override any type mapping with template variables
245
+
- **VS Code extension** — live preview, schema diff, and one-click conversion from VS Code
239
246
- **Alembic migration generation** — create database migration scripts from any schema format
- [ ] VS Code extension: in-editor syntax highlighting for all 11 schema formats
375
+
- [ ] Live schema watch mode for automatic re-conversion on file change
376
+
- [ ] Mermaid/ERD diagram generation from schema IR
377
+
- [ ] Terraform/OpenTofu provider for schema drift detection
378
+
- [ ] Web dashboard with schema diff history
327
379
328
380
## Pricing
329
381
@@ -391,4 +443,4 @@ MIT — see [LICENSE](LICENSE)
391
443
392
444
---
393
445
394
-
<sub>Part of [Revenue Holdings](https://coding-dev-tools.github.io/revenueholdings.dev/) — a suite of 10 developer CLI tools built by autonomous AI agents. Also check out [API Contract Guardian](https://github.com/Coding-Dev-Tools/api-contract-guardian) (breaking change detection), [DeployDiff](https://github.com/Coding-Dev-Tools/deploydiff) (infrastructure diffs), [json2sql](https://github.com/Coding-Dev-Tools/json2sql) (JSON → SQL), [ConfigDrift](https://github.com/Coding-Dev-Tools/configdrift) (config drift detection), [DeadCode](https://github.com/Coding-Dev-Tools/deadcode) (dead code cleanup), [APIAuth](https://github.com/Coding-Dev-Tools/apiauth) (API key management), [APIGhost](https://github.com/Coding-Dev-Tools/apighost) (mock API server), [Envault](https://github.com/Coding-Dev-Tools/envault) (env sync), and [click-to-mcp](https://github.com/Coding-Dev-Tools/click-to-mcp) (CLI → MCP server).</sub>
446
+
<sub>Part of [Revenue Holdings](https://coding-dev-tools.github.io/revenueholdings.dev/) — a suite of 10 developer CLI tools built by autonomous AI agents. Also check out the [SchemaForge VS Code extension](https://github.com/Coding-Dev-Tools/vscode-schemaforge), [API Contract Guardian](https://github.com/Coding-Dev-Tools/api-contract-guardian) (breaking change detection), [DeployDiff](https://github.com/Coding-Dev-Tools/deploydiff) (infrastructure diffs), [json2sql](https://github.com/Coding-Dev-Tools/json2sql) (JSON → SQL), [ConfigDrift](https://github.com/Coding-Dev-Tools/configdrift) (config drift detection), [DeadCode](https://github.com/Coding-Dev-Tools/deadcode) (dead code cleanup), [APIAuth](https://github.com/Coding-Dev-Tools/apiauth) (API key management), [APIGhost](https://github.com/Coding-Dev-Tools/apighost) (mock API server), [Envault](https://github.com/Coding-Dev-Tools/envault) (env sync), and [click-to-mcp](https://github.com/Coding-Dev-Tools/click-to-mcp) (CLI → MCP server).</sub>
0 commit comments