Download OrmFactory version 0.7.8 (latest)
Warning
- ⚠️ This is very early version.
- ⚠️ The project is under very active development.
- ⚠️ Expect bugs and breaking changes.
- ⚠️ DO NOT use this tool on production database.
- ⚠️ Look carefully at generated SQL before apply. Check twice.
For Windows
-
x64 exe installer 34.61 MB
SHA256: 8FD10E66C9B87703C8DC74943D1CFD543B5534A5DE5FB5374627F83D9FAA2B3B -
arm exe installer 33.27 MB
SHA256: FC4DC1FD253568136593A1D8A7972DAD6E2D63B357CC92E736C6E1D16CB702D2
For MacOSX
-
x64 pkg installer 62.41 MB
SHA256: F74BD0BBED1FD2096C6B1446D5FB743B5FFB122EF38DBBFF61700357EF9736F2 -
arm pkg installer 59.84 MB
SHA256: 2EC846D02F6C154AEE397001261A07CC7CEF2F690456C29C671DDF465542C677
For Linux
-
x64 AppImage 63.42 MB
SHA256: B7F37A6269E31E074F0B4442E47EE35A7CBAB8DBDF6D72BC0DCBEF33497AE303 -
arm AppImage 61.59 MB
SHA256: 13FF64114C9898C3F2927742DFD052CFB1974D060D98B89B44200F8DCC445BEA
What's new
Version 0.7.8
Released at 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.
- 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.
- 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 at 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.
- 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 at 12.04.2025
New Features- Multiple databases per project: one project can now include schemas from different databases.
- 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.
- 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 at 24.03.2025
ImprovementsName 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.
PostgreSQL:
- Fixed column rename behavior.
- Fixed unnamed primary key creation.
- Fixed foreign key creation.
- Fixed duplicated schemas after sync.
- Fixed stuck hover state on columns in the layout editor.
- Fixed duplicate tables when creating them from the layout.
- Fixed "unsaved changes" warning after reload.
- Fixed table structure not reloading after model changes.
Version 0.7.4
Released at 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.
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.
- 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.
- Fixed tooltip behavior for text foreign keys.
- Fixed tooltip positioning in multiline and JSON editors.
Multiline editor:
- Fixed issue where the first row's value wasn't detected as multiline.
- Fixed editor opening twice for multiline JSON.
- Fixed incorrect SQL generation for row deletion in the data editor.
Version 0.7.3
Released at 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.
- Local and project connections now have distinct icons.
- Added subitem counters to project tree items.
- Added tooltip display for items in the project tree.
- Removed the recent file extension dropdown on the start screen for clarity.
- New project tree setting: toggle subitem counters.
- 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.
Connection settings:
- Empty connection names are now disallowed.
- Connection type is shown as a tooltip in the 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.
- 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 at 24.01.2025
New Features- Embedded Python script editor: a built-in editor for writing and editing generator scripts in Python is now available.
Generator settings:
- File open dialog added to generator settings window.
- Replaced the TreeGrid control in the Sync and Partial Generation windows with an improved version for better usability.
Generator:
- Fixed generator save/load issues.
- Fixed tooltip positioning in TreeGrid.
- Fixed constraint addition errors.
- Fixed macOS menu integration.
Version 0.7.1
Released at 12.01.2025
New FeaturesProject tree enhancements:
- Subitem counters are now visible in project tree items.
- New option to show subitems counters in the project tree settings.
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."
- 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.
- 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 at 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.
- 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 at 12.10.2024
New Features- Undo/Redo functionality: added global undo/redo support for the entire model, excluding database changes.
- 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).
- 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 at 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.
- 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 at 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.
- 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 at 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 at 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.