Article

ORM Designer - A visual editor for PHP Doctrine, Doctrine2, Propel and CakePHP

A week or so I got an unexpected email from Ludek Vodicka asking me to have a look at ORM Designer for creating and maintaining my database schemas for the Symfony projects I have been working on.  Up until now I have been using MySQL Workbench to create my ER-diagrams and maintain my database structure but I've come up against a few obstacles when trying to use it with projects using doctrine so I thought why now.

I fully expected ORM Designer to be a MySQL Workbench clone (and it's obviously been a question that has been raised before - ORM Designer and MySQL Workbench comparison) but I must admit I was pleasantly surprised to find out is was not.  To try and break myself into it easily I opted to start working on the database schema for the re-build of Manage My Alerts which I have intended to re-build using Symfony for quite a while.

I was a little concerned as the re-build is using Apostrophe Now! and I was unsure how ORM Designer would interact with everything.  My first pleasant surprise was when I first opened ORM Designer and was presented with an option to "Import from ORM".  This was ideal as Apostrophe Now! already have their own schema in place I obviously want to link my entities to the relevant user accounts using the pre-installed sfDoctrineGuardUser so I need to be able to interact with these entities even though they're not being added by myself.

My second pleasant surprise was that when the schema files were imported they were sorted out into their relevant "regions" (or in my case plugins) so you could quickly see at a glance what belongs to what (sfGuardUser, sfGuardGroup etc all part of sfDoctrineGuardPlugin) and you also have a blank region set up for adding your own schema for your project.  With all that taken care for you, you can quickly jump in and start working, unlike with MySQL Workbench in which you have to shuffle everything around and sort it out into a logical order yourself before you can do anything.

It took me a little while to figure out everything I needed (Entities, setting onDelete actions, creating relations and getting them the right way round) but everything seems to be there and adding behaviours has been reduced to a point and click which is fantastic as I don't have try and remember what they are called anymore!

The only con I can find with ORM Designer is that it had a €99 price tag attached and I've always been one for going for the free alternatives so normally MySQL Workbench would win over, however, in this case I am finding the benefits outweigh the cost and I am seriously considering switching when the trial period is up.

References

ORM Designer - Visual editor for PHP Doctrine, Doctrine2, Propel and CakePHP MySQL Workbench - A cross-platform, visual database design tool developed by MySQL. Apostrophe Now! - A content management system designed for maximum flexibility with a minimal learning curve.

me.jpeg

I am a web developer specialising in web driven applications using PHP, MySQL, Symfony and Zend and I am currently working for the The Drum in Glasgow, Scotland.

Most days I can be found frantically coding away with EuroDance in my ears and consuming what I hope to be a never ending supply of coffee... happy days!

Want more like this?

Keep up-to-date with latest news from Inside the Agency using any of the following services

Advertisement

Digital Ocean

Chris's Reading List

www.thoughtworks.com

BFF @ SoundCloud

Our friends at SoundCloud embarked on a journey a few years ago that changed their system and moved it from a monolithic Rails application towards an ecosystem of microservices. Read more

The Drum

The Drum

Google'€™s AMP is bringing some much needed speed to mobile but the transition won'€™t be easy for publishers

A week after launching, the Google-led Accelerated Mobile Pages (AMP) initiative has raised more questions than answers for publishers... Read more

SitePoint

SitePoint

Quick Tip: How to Permanently Change SQL Mode in MySQL

MySQL 5.7 introduced some awkward changes for older codebases and tends to break apps. Here's how to temporarily (or permanently) lower the strictness level Read more

SitePoint

SitePoint

How to Build Your Own Dependency Injection Container

Andrew Carter builds a Dependency Injection container from scratch, showing you how that rocket science is really just fireworks strapped to lego figures! Read more

AuthorityLabs

AuthorityLabs

13 Reasons Your Organic Traffic is in Decline | It's Not a Penalty

The landscape of search engine optimization has changed drastically in the last 3-4 years. Even as it changes, a lot stays the same. It has been very challenging to see a multitude of friends and colleagues approach me with problems that often seem beyond repair with clients that they have worked with for years. Read more

TechCrunch

TechCrunch

WordPress Sites Now Support Google’s AMP To Make Mobile Pages Load Much Faster

Google has some big plans when it comes to making the web faster on your mobile phone. The company just added AMP-enabled pages in its mobile search results... Read more