Design. Compare. Generate. Your way.

A modern database modeling tool for creating and maintaining complex systems.
Built for experienced engineers who already know why structure and consistency matter.
You build the product — we just give you the tools.

Model-first. Version-controlled.

OrmFactory main window interface

Full control over code and migrations, with every database change confirmed by you. Data edits are immediate but fully visible through generated SQL. OrmFactory stays out of your way and helps you get things done.

Why Model-First

DB-first becomes difficult to manage across multiple environments - the database stops being the source of truth.
Code-first becomes difficult to manage across multiple services - their models drift apart.
Model-first keeps structure consistent across environments and teams, enables safe offline design, tracks semantic changes in version control, and generates code or migrations for any ORM.

Generate application code for the ORM

Thanks to our generators system, OrmFactory can support an unlimited number of combinations of languages, styles, approaches, ORMs and databases. The key feature is that you can write your own generator tailored to your processes, workflows, and preferences.

Generator metadata allows you to control how tables, columns, and foreign keys are represented in generated code. Override names, ignore elements, and pass extra hints to any generator. Partial generation allows you to select tables, schemas, databases and layouts for each generator.

You can also use Named Rows to embed key table data into generated code, creating constants or object references to avoid magic numbers.

See working examples: Entity Framework, Dapper, Hibernate, JOOQ, Django.

Sync with any environment

The model-first approach allows you to work with the model independently of any specific environment. OrmFactory enables you to synchronize the model with each environment separately, giving you full control over the changes you want to apply.

To simplify working across multiple environments OrmFactory introduces Connection Profiles.

Generate ORM migrations

Migration generators combine both features. This is a must have feature if you use migrations and work in different environments.

Generate migrations based on model changes. See exactly what changed - and generate ORM-specific migration code using your custom generator.

Migration generators are available for Yii2 and Laravel. You can create your own for any combination of ORM and database.

Git-friendly model storage

Our XML-based model storage format allows you to easily merge changes via version control systems and even manually edit the model when necessary. Each developer works with their own local DBMS, and after merging changes, all updates are easily transferred to testing and production environments.

Like any good editor, OrmFactory can undo any actions with the model. But we still recommend git.

Interactive SVG documentation

OrmFactory is also a visual designer for your data schema. You can create a visual representation of your table relationships using both foreign keys and virtual foreign keys.

Designed to handle hundreds of tables smoothly.

Generate database diagrams from the CLI as interactive SVG documents with hover highlighting, clickable links, and customizable rendering. Perfect for documentation, architecture reviews, and internal wikis.

users id username email fullname created_at roles id name description user_roles user_id role_id assigned_at category id parent_category_id name sort_order products id category_id sku name price discontinued warehouse id code name city inventory warehouse_id product_id quantity reserved_quantity orders id user_id created_at status total_amount order_items id order_id product_id quantity unit_price

Since layouts are part of the project model, exported diagrams stay up to date automatically. There is no separate documentation to maintain — the diagrams are generated directly from the same model you edit every day. They can also be regenerated automatically in CI/CD pipelines whenever the model changes.

Diagrams can be exported from desktop app into PNG, WebP or SVG format.

Minimalist UI, maximum focus

OrmFactory features a deliberately simple interface.
Don't be fooled - it's a powerful and sophisticated tool.
The interface fully supports high-resolution screens without any quality loss.
The gray color scheme is designed to reduce cognitive load, making your daily work easier and more comfortable.

Built-in data editor with smart query tools

You can view and edit data directly within OrmFactory. The query window includes autocomplete based on your model, making it easier to write complex queries. The foreign key tooltip feature allows you to quickly inspect referenced objects without adding joins to your queries.

Instead of loading the entire result set before displaying it, OrmFactory uses streaming fetch. Rows appear immediately as they are received from the database, while the grid automatically follows the incoming data stream until the query completes.

Since the grid follows the stream automatically, you end up at the newest rows as soon as loading finishes. In practice, those are often the records developers are looking for.

Other data management features:

Multi-Database support

Using multiple databases in a single model is ideal for microservices, legacy integrations, or gradual migration.