Download OrmFactory version 0.9.0 (latest)
⚠️Read before use⚠️
- This is early version.
- The project is under active development.
- Expect bugs and breaking changes.
- Check generated SQL before apply.
For Windows
-
x64 exe installer 42.31 MB
SHA256: 107FDC43BDD4539E6B1DE7CF5F0BA12BDE870A7A8C3D3DF3C5962928F490054D -
arm exe installer 40.70 MB
SHA256: 4AF52DB5E00C09E66382EA69DCE89817FB54BA8EFA4713FEF13037DF1DE6CC2E
For MacOSX
-
x64 pkg installer 44.92 MB
SHA256: 6527EC4CB924A6ED8CAAC2E1BC8C252AA04D3EDE93A2BD713145C7EDDF134950 -
arm pkg installer 43.18 MB
SHA256: D776860B38A0D319D08B83A9110CDF0C146C6F49C0F6914B9786B4E66B116C28
For Linux
-
x64 AppImage 38.59 MB
SHA256: B9AACDE3F3340F0CA26E418996043937BFD92F9C055B3463A4391330CD06F03C -
arm AppImage 37.16 MB
SHA256: 3FC45BA191912223BC3DD58CC27D17E5049482D92EBF3F92735102C8954676D9
What's new
Version 0.9.0
Released 12.10.2025
New Features
- Named Rows: added support for embedding key table data directly into generated code. Useful for generating constants, enums, or object references without magic numbers.
- Override and Ignore: added the ability to override class names, repository names, and field names for tables, columns, and foreign keys. Also added options to ignore tables, columns, or foreign keys during code generation.
- Python script integration: generators launched from the built-in Python editor now include Named Rows.
Improvements
- Windows builds are now digitally signed.
- Generator icons now load faster from the GitHub repository.
- Generator log window appears only if there are messages from the generator.
- Added short success and error notifications after running a single generator, shown above the log window.
Fixes
- Fixed unwanted resetting of the current connection profile after undo/redo actions.
- Fixed export and import for multiline values.
- Fixed tooltip display for multiline strings in nested foreign key tooltip.
- Fixed empty trailing line in exported data.
Version 0.8.9
Released 24.09.2025
New Features
- Added a column parameters editor, including support for custom properties.
- Added keyboard shortcut ⌘/Ctrl + E to open the export dialog from the query window.
Improvements
- Partial generation settings are now independent from undo/redo actions.
- Updated labels in the start window.
- Import workflow improved: file selection prompt is shown first, then the import window opens.
Fixes
- Fixed issue with autocomplete box opening in a new window.
- Fixed table editor applying changes even after undo/redo while the editor window was open.
- Fixed ⌘/Ctrl + Space shortcut so it correctly stops fetch.
- Fixed incorrect warning "There is some changes" when renaming a column in a table with indexed columns.
- Fixed saving of connection name and username for SQL Server.
- Fixed crash when clicking on a column header in the table editor.
Version 0.8.8
Released 12.09.2025
New Features
- Import data from CSV/TSV
- Export data to CSV, Excel, and JSON
- Drop table action
- Added update rule and delete rule options to foreign key properties in the generator model
- Generators can now be loaded directly from the GitHub repository
Improvements
- Asynchronous applying of changes with progress bar
- Python model generator now receives the model via stream instead of a temporary file
- Explicit comments are now included for diff column headers
- Window layout is no longer centered during resize
Fixes
- Fixed default column size for datetime
- Fixed deserialization of the compression attribute in O-Bridge connections
- Fixed key generation for the password vault
- O-Bridge: added support for “select without open connection” scenario
Version 0.8.6
Released 12.08.2025
- Added support for oracle via O-Bridge
Version 0.8.5
Released 12.07.2025
PostgreSQL Support
- Added support for special column types: json, jsonb, and xml
- Added support for UUID and bytea types, with proper formatting and editing
- Improved handling of interval, time, timestamp, and boolean types
MySQL Support
- Added support for ENUM and SET types
- Improved support for binary formats with proper display in the binary viewer
- Extended support for spatial types, including test coverage and fixes
- Improved formatting for FLOAT, DECIMAL, DATETIME, and TIME types
- Enhanced support for all integer types, including edge cases with unsigned values
UI and Usability Improvements
- Added display of connection name in the query window
- Fixed issues when opening a new query with an active configuration
- Fixed line break behavior for certain column types in the SQL preview
Version 0.8.3
Released 24.06.2025
Improvements
- Added new AutoCompleteEditor for configs and data types.
- Added "Generate as identity" checkbox for Sql Server.
- Added "Unique" checkbox to indexes list for Sql Server.
Fixes
- Fixed file path after "Save As".
- Fixed broken generator path after downloading from site.
- Fixed included tables serialization in generator partial settings.
Version 0.8.2
Released 12.06.2025
New features
- Sql Server support (initial).
- Connections config.
Improvements
- Structure loader now support progressbar.
- Test connection now support progressbar and cancellable.
- New MessageBox.
Fixes
- Fixed creating unique indexes in PostgreSql.
- Fixed per-table structure loader progress.
- Fixed TestConnection error handling.
- Fixed entering port settings in connection edit window.
Version 0.8.0
Released 24.05.2025
New features
- New password storage options: encrypted and Vault
- macOS: password encryption using platform UUID
- PostgreSQL: added "Generated as identity" column support in table editor
- PostgreSQL: added support for unique indexes
Fixes for PostgreSQL
- Structure loader: fixed issue with empty schemas not being returned
- Fixed creation of columns with comments
- Fixed index loading (schema prefix removed)
- Fixed DDL for dropping foreign keys and altering columns
- Fixed DDL for changing default values and comments
- Fixed executing DDL from query window
Fixes for MySQL
- Fixed DDL for adding primary key in ALTER TABLE
Version 0.7.8
Released 12.05.2025
New Features
- Migration script generators: added support for generating migration scripts.
- Database edit window: database objects now has additional properties.
- Database renaming: databases can now be renamed from the project tree.
- Foreign key generator tags: added ToFieldName and ToClassName attributes to the <ForeignKey> element in the generator structure.
Improvements
- Sample generator loading: the file name is now automatically filled in the dialog when loading a sample generator.
- Python editor: uses a monospace font for better readability.
- Main window: now has a minimum size restriction.
Fixes
- Partial settings: fixed handling of partial generation settings.
- Generators: fixed name singularization logic.
- MySQL foreign keys: fixed import of foreign keys from MySQL databases.
- Python output: cleared before each script run.
- Single table sync: fixed issues when synchronizing a single table.
- Opening Python editor: fixed an issue when opening the Python editor with a new generator script.
- Tooltips: fixed unwanted tooltip when switching tabs.
- Connection selection: fixed connection selection in the import action.
- Comment diff: diff view now detects changes in table comments.
Version 0.7.7
Released 24.04.2025
Improvements
- Foreign key naming: if another table has a foreign key pointing to this one, its reverse relation is now named ReverseKey.
- Foreign key editor: renamed the window for editing foreign keys for clarity.
- Create/remove database: databases can now be created or removed directly from the project tree.
- Primary key label: in the diff preview window, unnamed primary keys are now displayed as "Primary key".
- Diff preview title: fixed incorrect window title in the diff preview.
- Undo/redo: now correctly updates the Save button state.
- Expanded project tree state: fixed saving/restoring expanded nodes in the project tree.
Fixes
- Schema/table selection: fixed broken schema and table selection in the diff tool.
- Project filename loss: fixed issue where the project filename could be lost after an undo operation.
- Broken generators: fixed broken behavior in generator scripts.
Version 0.7.6
Released 12.04.2025
New Features
- Multiple databases per project: one project can now include schemas from different databases.
Improvements
- Query window: can now be opened directly from the connection context menu.
- Foreign column positioning: in the table editor, the foreign key column is now placed after the data type column for better clarity.
- MySQL-specific autoincrement: autoincrement columns are now shown only in MySQL schemas.
- Foreign key column lock: foreign key columns are now read-only in the table editor.
- Foreign key naming: different strategies for naming foreign keys are now applied based on the database type.
- Foreign key name in context menu: when multiple foreign keys are defined on the same column, their names now appear in the column context menu.
- Index/constraint name validation: added checks to ensure that index, unique, and foreign key names are not empty in the table editor.
Fixes
- Index DDL: fixed DDL generation for creating and altering indexes.
- PostgreSQL index import: fixed loading of index definitions from PostgreSQL.
- Project file locking: fixed locking issue when loading a project file fails.
- Virtual grid menu: fixed missing context menu on the first column of virtual grid.
- Sync logic: fixed project sync logic to avoid duplicate schemas when syncing with PostgreSQL.
Version 0.7.5
Released 24.03.2025
Improvements
Name propagation on rename
- Renaming a column now automatically updates all related indexes, unique constraints, primary keys, and external foreign keys.
- Renaming a table updates all external foreign keys that reference it.
- Foreign key actions: it's now possible to leave ON UPDATE and ON DELETE actions unspecified when defining a foreign key.
- Model-only changes: structure reload is skipped if the changes apply only to the model (no need to query the database again).
- Apply progress bar: added a progress bar when applying changes.
- Schema checkbox: in the synchronization window, checking the "Schemas" checkbox now includes not yet loaded schemas.
- Separate undo step on reload: reloading the model now creates a separate undo step.
Fixes
PostgreSQL
- Fixed column rename behavior.
- Fixed unnamed primary key creation.
- Fixed foreign key creation.
- Fixed duplicated schemas after sync.
Layout/visual issues
- Fixed stuck hover state on columns in the layout editor.
- Fixed duplicate tables when creating them from the layout.
Warnings and state
- Fixed "unsaved changes" warning after reload.
- Fixed table structure not reloading after model changes.
Version 0.7.4
Released 12.03.2025
New Features
- Edit changes before applying: structural changes (e.g., from synchronization) can now be reviewed and edited before applying to the model or database.
- Win ARM support: added support for running ORM Factory on Windows ARM architecture.
- Table structure reload after DDL: the table structure is now automatically reloaded after applying DDL changes in the table editor.
Improvements
Grid usability
- Grid can now be focused using the Tab key in the table editor.
- Added Ctrl/⌘ + arrow keys shortcuts for faster navigation in grids.
Editor behavior
- Cursor is now hidden when the grid loses focus.
- Reduced transparency of the multiline editor window for better readability.
- Added a "Save minified" checkbox in the multiline editor.
Tooltip fixes
- Fixed tooltip behavior for text foreign keys.
- Fixed tooltip positioning in multiline and JSON editors.
Fixes
Multiline editor
- Fixed issue where the first row's value wasn't detected as multiline.
- Fixed editor opening twice for multiline JSON.
SQL and data
- Fixed incorrect SQL generation for row deletion in the data editor.
Version 0.7.3
Released 12.02.2025
New Features
- Python example script download: when creating a new generator, you can now download a sample Python script for easier setup.
Improved project tree display
- Local and project connections now have distinct icons.
- Added subitem counters to project tree items.
- Added tooltip display for items in the project tree.
New context menu options
- Removed the recent file extension dropdown on the start screen for clarity.
- New project tree setting: toggle subitem counters.
Improved primary key handling
- Primary keys, indexes, and uniques now support length (MySQL).
- Primary key storage format in the project file was changed to be more consistent.
- MySQL primary keys are now stored without an explicit name.
Improvements
Connection settings
- Empty connection names are now disallowed.
- Connection type is shown as a tooltip in the UI.
Diff tool UI
- Fixed primary key diff detection.
- Renaming a column now updates related constraints (primary keys, indexes, uniques, and foreign keys).
- Redesigned constraints tab in the table editor.
- The table editor can now generate DDL for table rename.
- Schema name is now validated to be non-empty.
Fixes
- Fixed empty connection creation bug.
- Fixed removal and addition of local connections in the project tree.
- Fixed project name not appearing in the main window title.
Version 0.7.2
Released 24.01.2025
New Features
- Embedded Python script editor: a built-in editor for writing and editing generator scripts in Python is now available.
Improvements
Generator settings
- File open dialog added to generator settings window.
UI enhancements
- Replaced the TreeGrid control in the Sync and Partial Generation windows with an improved version for better usability.
Fixes
Generator
- Fixed generator save/load issues.
UI bugs
- Fixed tooltip positioning in TreeGrid.
- Fixed constraint addition errors.
- Fixed macOS menu integration.
Version 0.7.1
Released 12.01.2025
New Features
Project tree enhancements
- Subitem counters are now visible in project tree items.
- New option to show subitems counters in the project tree settings.
Improvements
Table editor improvements
- Added row counters in the tab headers.
- Fixed tooltips that appeared incorrectly over new windows.
- Added new table action: "Show CREATE TABLE statement."
Context menu improvements
- Fixed issue with the context menu appearing incorrectly over the new window.
- Removed unnecessary scrollbar from the "joined" tooltip window if the content fits the popup size.
Fixes
- Table structure editor crash: fixed a crash that occurred when opening the table structure editor.
- Undo/redo shortcuts: fixed issues with undo/redo keyboard shortcuts not working as expected.
- Primary key visibility: primary key is now visible in the constraints tab of the table editor.
- Error popups: error messages in the connection edit window now appear as modal popups.
- Project tree behavior: fixed cursor issue when dragging from the project tree.
- Vertical alignment on macOS: fixed vertical alignment issues with fonts and UI elements on macOS.
Version 0.7.0
Released 12.12.2024
New Features
- Experimental PostgreSQL support: added experimental support for PostgreSQL databases. This includes basic operations such as synchronization and generation of DDL scripts.
- Show password button: a new option to toggle password visibility in SSH connection settings.
- Active connection selection: it is now possible to set an active connection even if there is only one available.
- Generator action hotkey: the generator run action can now be triggered by pressing F5.
Fixes
- Connection selection: fixed issue with selecting the active connection in the project tree.
- Index comparison: fixed issues with index comparison during database synchronization.
- Grid tooltip: errors in the grid now display tooltips showing detailed information.
- Table autocomplete: added autocomplete for tables that were fetched but not yet added to the model.
- Data changes preview: added a "copy to clipboard" button in the data changes preview window for easier data handling.
Version 0.6.3
Released 12.10.2024
New Features
- Undo/Redo functionality: added global undo/redo support for the entire model, excluding database changes.
Improvements
- Project tree rewrite: the project tree was completely rewritten, improving performance and usability (note: some minor issues may still exist due to the new control).
Fixes
- Tooltip positioning: fixed an issue with tooltip positioning, ensuring tooltips now display correctly in the table structure editor.
- Project tree state: the state of the project tree (expanded/collapsed nodes) is now saved and restored when reopening the project.
Version 0.6.2
Released 24.09.2024
New Features
- Referenced object tooltip: added a feature to display referenced objects in tooltips, providing more context when hovering over table elements.
- Copy/Paste for fetch grid: you can now copy and paste values in the fetch grid using the standard shortcuts (Ctrl + C/V, Ctrl/Shift Insert, ⌘ + C/V).
- New actions: added a "Paste" action for better handling of copied data in the grid.
- Improved grid navigation: the layout now supports additional keyboard shortcuts for more efficient navigation: Ctrl/⌘ + arrows to navigate through grid cells.
Fixes
- Multiline value copy: fixed an issue where multiline values in the fetch grid weren't copied correctly.
- SQL highlighting: fixed syntax highlighting in the query window to better distinguish SQL keywords.
- Cell selection: fixed an issue where selecting a cell in the header could result in incorrect selection behavior.
- Layout scrollbars: fixed issues with layout scrollbars appearing unnecessarily.
- macOS: fixed vertical alignment issues in grids, layouts, and tab headers on macOS.
- Layout zoom: improved support for touchpad zoom gestures on macOS for better user experience.
- Dropdown suggest list: improved the dropdown suggest list for easier selection of options.
- Tooltips in layout: added tooltips for tables, columns, and foreign keys in the layout for additional context.
Version 0.6.1
Released 11.09.2024
New Features
- Create new local connection button: added a new button on the start screen for creating new local connections, improving the user experience.
- FK, Index, and Unique icons: now displayed in layout for foreign keys, indexes, and unique constraints, helping users better visualize constraints in the schema.
- Optimized CPU usage: optimized CPU usage during the data fetch process, improving performance.
Fixes
- Preselect schema in layout: now, when creating a new table from layout, you can preselect the schema for the new table (with the "Create new" option).
- Export layout to PNG: added the ability to export the layout as a PNG file, which is useful for documentation and sharing schema designs.
- Foreign key editor: fixed several issues in the foreign key editor for better usability.
- Layout renaming: fixed issue where layout names were not updated correctly.
- Fractional seconds support: added support for fractional seconds in datetime fields.
- Datetime format conversion: fixed issues with datetime format conversions.
- Indices and foreign key diff: fixed issues with differences in indices and foreign keys when comparing models.
Version 0.6
Released 24.08.2024
New Features
- In-place index and foreign key editor: added in-place editing for indexes and foreign keys, making it easier to modify these constraints directly in the schema.
- Restructured project tree: redesigned the project tree for better organization and ease of use.
- Default action on double-click: now, double-clicking on an item in the project tree or layout will execute a default action, improving workflow efficiency.
- Active connection setting: you can now set the active connection, even if you only have one connection available.
- Active connection storage: the active connection is now stored in the project settings for future use.
- All generator actions on F5: added support to trigger all generator actions by pressing F5, streamlining the process.
- Local connections support: added the ability to manage local connections.
- Start window: a new start window is now available.
- Recent files in start window: added a list of recent files in the start window for quick access.
Fixes
- Horizontal scrolling in grids: fixed an issue where horizontal scrolling was not working in the grids.
- Drag and drop to layout: fixed an issue where dragging and dropping a table into the empty layout area caused a null reference exception.
- Cell context menu on header click: removed the context menu from being available on a header right-click to improve usability.
- Project diff improvements: the project diff now includes the ability to add columns to the diff, allowing for more granular change tracking.
- New actions: new actions were added to remove connections and generators from the project tree.
- Reset cell changes: pressing Del now resets changes made to a cell in the layout.
- Password visibility: password fields now hide the password by default with the option to toggle visibility.
Version 0.5.1
Released 12.08.2024
New Features
- Multiline editor: the multiline editor now supports JSON, and a "Prettify On-The-Fly" feature is available for minified JSON.
- Drag and drop to layout: fixed an issue where dragging and dropping a table into the empty layout area now creates a new layout (instead of throwing a null reference error).
- Cell context menu: the cell context menu is no longer available when right-clicking on a header, streamlining the user experience.
- JSON support in multiline editor: added support for JSON formatting in the multiline editor, with an option for "Prettify On-The-Fly" to improve readability.
- Text cell context option: added the option to enable multiline editing for text cells.
Fixes
- Project diff enhancements: the project diff feature now includes the ability to add columns, providing more flexibility when comparing models.
- Remove connection and generator actions: added new actions to remove connections and generators directly from the project tree.
- Cell reset: pressing Del now resets changes made to a cell, instead of keeping the modified value.
- Escape key behavior: pressing Escape will now close the editor without saving the changes, improving usability.
- Saving empty strings over null: saving an empty string in a field that previously had a null value now causes no changes to the data.
- Password visibility toggle: password fields now have an option to toggle visibility, improving security control.