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.
- standalone desktop app with no cloud dependencies
- native x64/arm64 builds for Windows, macOS, and Linux
- lightweight, fast and memory efficient
- supports multiple databases: MySQL, PostgreSQL, SQL Server and Oracle (via O-Bridge)
- free community version
Why Model-First
DB-first fails with multiple environments - the database stops being the source of truth.
Code-first fails with 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 ORM model
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, 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.
ER diagrams for your project
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.
Can handle hundreds of tables without lags.
Diagrams can be exported exported into PNG 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.
Other data management features:
- A fast data grid capable of smoothly scrolling through millions of rows.
- Low memory consumption. Optimized to handle millions of rows with minimal RAM usage.
- A multiline editor with XML and JSON syntax highlighting.
- Prettify-on-the-fly feature for minified JSON.
Multi-Database support
Using multiple databases in a single model is ideal for microservices, legacy integrations, or gradual migration.
Supported databases:
- MySQL (including MariaDB and Percona).
- PostgreSQL.
- Oracle (via O-Bridge).
- SQL Server (experimental).