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.
[youtube=http://www.youtube.com/watch?v=FNlmU6zX5Ug]
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.