ORM Designer and Doctrine2 ORM
ORM Designer comes with full Doctrine2 support which makes designing application model easier than ever before.
Start using ORM Designer with Doctrine2 right now
The simplest way to start using ORM Designer is importing your existing Doctrine2 model. Thanks to the import/export features it's a matter of a few clicks.
Select Import New... and then Import Project from ORM from the ribbon menu.
In Import Project Wizard choose you project name, root directory of your project where are your Doctrine2 files stored. As MVC framework choose Without Framework and select Doctrine2 ORM (see the screen shot).
After import configuration confirmation ORM Designer starts searching for Doctrine2 schema XML/YML files (annotations are not supported at this time).
You can see a sample Doctrine2 project imported from the Doctrine2 repository. If you follow above steps you should see your model. You can start making changes to the model using ORM Designer.
Visualize Doctrine2 application model
Text editors are great for code editing, but when it comes to the application model it's always better to use visual editor. ORM Designer gives you a great overview of your model and makes it easier for you to study object associations. Once you try ORM Designer it's hard to return back to making changes to the model by hand. ORM Designer helps you work faster, document you model more, prevent you from making typos or wrong definitions.
Be more effective
When we were working on ORM Designer we asked ourselves what are our everydays tasks and we did our best to make these tasks easy and fast. We are proud of the searching and model navigation features. We hope you will enjoy "Summary window" which provides full text search through fields, entities, associations and indexes. Or a fully searchable "Project tree" which is another helpful visualization of your Doctrine2 project.
ORM modeling
Application model starts with entities, fields, associations, regions and application bundles that gets refactored during the life cycle of the application. Once the basic application model is ready you can refine the model by adding ORM properties, inheritance and many-to-many associations. All ORM specific features are available within ORM Designer. Depending on the ORM framework you get only features supported by the framework.
Doctrine2 one-click Import/Export
One of our primary targets was to make starting with ORM Designer as easy as possible. You don't need to model all your existing applications from scratch. All you have to do is to select the project directory and ORM Designer will search for schema files.
Newly imported entities are automaticaly arranged and placed into modules. Modules can be shared between multiple projects with entities and associations layout preserved within the module.
Many-to-many association support
One of the great features of Doctrine2 ORM is a many-to-many association. As the definition are really tricky to write and you can easily make mistake which is hard to track. ORM Designer's many-to-many association wizard will guide you through selecting source and reference tables and will add foreign key columns if needed.
External tools
ORM Designer enables you to set an external tool. Each external tool is defined by its executable-path, arguments and by default path. It is also possible to use pre-defined constants that are evaluated before tool is executed. These constants can be substituted with current project name, project path, ORM or MVC framework.
Download ORM Designer with full Doctrine2 support
If you are interested in ORM Designer application, here you can download a free 14 days trial version.
Currently unsupported features
ORM Designer currently don't support inheritance in any level of designing (visual, editing, import, export). Iheritance for Doctrine2 and other ORM frameworks will be implemented in next few months.
Currently doesn't supported XML tags from Doctrine 2 schema :
- discriminator-column
- discriminator-mapping
- discriminator-map
- mapped-superclass
Appendix: Supported Doctrine2 properties
Supported Doctrine2 core properties
| Object | Property |
|---|---|
| Project | Name, CodeName, Description |
| Module | Name, Description |
| Entity | Name, Description |
| Field | Name, Type, Size, Required, Unique, Primary key, Auto increment, Default value, Enum values, Description |
| Association (1:m ) | Name, Reference columns, Owning alias, Inverse Alias, Association type, Parent required |
| Index | Name, Unique, Indexed columns |
| Many to Many associtaion | M:N Entity, First and second entity, Alias to first and second entity |
Supported Doctrine2 ORM properties
| Object | Property |
|---|---|
| Module | namespace |
| Entity | db table,schema,repository-class,inheritance-type,export-file-name,change-tracking-policy,lifecycle-callbacks |
| Field | db column,version,scale,precision,column-definition,generator, generator strategy,sequence-generator,sequence-name,allocation-size,initial-value |
| Associtaion (1:m) | on-delete,on-update,owning side/inverse side, fetch,orphan-repoval,cascade,order-by |
| Many to Many Association | join-table-schema,fetch,on-delete,on-update,cascade,order-by |
| cascade-types | cascade-all,cascade-persist,cascade-merge,cascade-remove,cascade-refresh |




