Here is a tool that might help you with your MVC framework, like CakePHP, Symfony, and others – ORM Designer. In essence, it is a graphical user interface for drawing a visual representation of your project (such as an Entity Relationship Diagram (ERD)) and than converting it into the code. You can specify which framework and which ORM you want to use and it will generate the appropriate bits and pieces. What’s even more interesting is that it has import functionality, which means that you can start using it with an existing project. Here is the video that shows and explains more.
Of course, I got excited about it, downloaded and installed. Two things that disappointed me were:
- It’s a native Windows application, which runs on Linux through the wine emulator. While it works fine, I’d much prefer a native application that I could integrate with the rest of my development environment.
- CakePHP import is not supported at this time.
Other than that though, it looks very promising. I’ve seen quite a few applications that help with database design, and ORM Designer stands well in that row. You can create entities, define fields, specify indexes, and associate entities with each other using relationships. Many-to-many relationships are supported, as are entity inheritance. While inheritance does make it for a bit more complicated structure of the project (with app/models/base/ folder for CakePHP), it’s very nice to have such support for bigger, more complex projects.
The project is commercial, with a 14 days evaluation version available for download. If you like it enough to buy, the price is very reasonable – 99 EUR per license.
Try and see if you like it, and provide some feedback to the guys who are developing it. ORM Designer has all the chances of becoming an extremely useful tool and since it is still in its early development, your feedback would be of the most value.
3 thoughts on “ORM Designer”
They lost me at the beginning of their presentation with those crappy fonts. Also mentioning the ‘windows only’ comment really helps not to look at this solution again (: Great idea, poor execution me thinks.
I played with it a bit. Being a Linux user surrounded by other developers using Linux, I don’t think I can use it for maintaining a project. At least not as it is now. But one place where it does help is sketching of a new project. If you have an idea, which you are not sure you will implement and just want to see how messy it can get, ORM Designer is a nice tool that can help you throw a few things together. One useful feature that I noticed with it was regions. Which are separate areas inside your application for organizing entities. This is cool for example for breaking up an application into plugins. An area for each plugin can be created and then entities linked between each other, providing a nice bird-eye overview.
I hope there will be a native Linux version eventually though.
use http://cakeapp.com/ and forget about windows crap