Skip to content
Manech Dubreil edited this page Sep 1, 2026 · 1 revision

Vision

This page describes where Transf-ORM is headed — not what exists in the code. For the implementation as it stands, see Technical Documentation.

Goal

Transf-ORM aims to become a conversion, synchronization, and generation tool spanning the modeling languages and ORMs used in modern development — centralizing database structure logic in one neutral system, with full round-trip fidelity between representations.

What sets it apart

Existing tools solve pieces of this problem, not the whole thing:

  • One-way generators (prisma-dbml-generator, zod-prisma) convert in a single direction only, with no way back and no guarantee against information loss.
  • Visual editors (dbdiagram.io) edit a schema visually but don't sync with code automatically, and don't migrate that schema to an ORM.
  • ORM migrations today mean a full manual rewrite — no existing tool automates moving a codebase from one ORM to another.

Transf-ORM's answer is the Pivot IR: every ORM gets one importer and one exporter instead of a converter per ORM pair, and the pivot is designed as a semantic superset so round-trips don't lose information.

Planned capabilities

None of these exist yet — see Architecture for each layer's status.

  • Bidirectional multi-ORM conversion — Prisma ⇄ Drizzle ⇄ TypeORM, not just Prisma import. See Architecture's Importers/Exporters rows (Prisma-only import, no export).
  • Code generation — TypeScript types and Zod validators generated from the pivot. See Architecture's Exporters row (trait defined, no implementations).
  • Versioning — diff/merge/rollback across pivot schema versions. See Architecture's Versioning row (not started).
  • Codemods — automatically rewriting ORM call sites across a codebase when switching ORM (e.g. prisma.user.findMany(...) → the Drizzle equivalent). See Architecture's Codemods row (not started).
  • A SaaS platform on top of the CLI core — see Planned API and CLI for the full specification (auth, teams, billing, projects, Git integrations, transform jobs, history/revert).

Planned architecture

Transf-ORM Core (Rust)
├── 1. Pivot Definition        — the Schema type, versioning, unknown-feature handling
├── 2. Importers                — Prisma, Drizzle, TypeORM, DBML
├── 3. Exporters                — Prisma, Drizzle, TypeORM, DBML, TypeScript types,
│                                  Zod validators, SQL migration scripts
├── 4. Versioning layer         — pivot storage, semantic diff, merge, history
└── 5. CLI                      — convert, generate, diff, merge, watch, init,
                                   validate, history, rollback

Transf-ORM SaaS
├── 1. Web UI (Next.js)         — visual schema editor, diff viewer, merge conflict
│                                  resolver, real-time collaboration
└── 2. Backend services         — auth (GitHub/GitLab OAuth), storage, Git sync
                                   webhooks, async job queue for conversions

The CLI core is meant to work standalone; the SaaS layer wraps it with collaboration, Git sync, and billing. See Planned API and CLI for exactly what the SaaS layer's API surface and CLI flags are planned to look like.

Business model

Tier Price Includes
Free — 3 projects, public-repo GitHub sync, 30-day history, unlimited exports
Pro 19€/mo Unlimited projects, private repos, unlimited history, up to 5 collaborators
Team 49€/mo Unlimited collaboration, team workspaces, roles & permissions
Enterprise On request On-premise deployment, audit logs, custom features

The CLI core is planned to stay open source (MIT or Apache 2.0); the SaaS layer is the planned monetization path.

Clone this wiki locally