SELECTED PROJECTS
powerdb.engineroom.dk
Role: Developer, maintainer
Screenshot of the PowerDB solution

Project details

Project name:
powerdb.engineroom.dk
Project owner:
Self
Project start:
2012
Enddate:
2013
Technologies:
PHP, PDO, MySQL, PostgreSQL
My role in project:
Designer, developer, maintainer, product owner

Background

PowerDB was an ORM tool developed by myself in 2012 in PHP. In previous projects I had been using the very cool "POG" (PHP Object Generator). Which made it very easy to work with bigger data models, when handwritten SQL was not needed or a performance demand.

Later on I experienced quite some inconsistancies with POG and sometimes data were gone missing. Which would not be acceptable. The codebase of POG was very messy and the frontend was plagued with advertising. Hence I decided to develop my own generator that supports both MySQL and PostgreSQL, with a very light frontend.

Features

PowerDB consists of a web frontend where you can model your table. When you are done you can use the output PHP class and subclass it. The class can then be instanced to an object that represents the table. The ORM supports both parent, children and sibling (many to many ) relations. It has a decent performance, however the support to prefetch and preselect related models is a lacking feature for more complex data.

The actual generator tries as much as possible to create a good normalized database structure. With fast joins using primary keys and indices between tables. It generates code that supports both MySQL and PostgreSQL. If you need to update a model, you can always follow the data URI in the top of the class and update it. Copy the code and run the ->updateTable() routine on the object to update the database table.

Improvement from the POG is that PowerDB uses prepared statements via PDO instead of raw queries. This helps a lot of stability and prevents a lot of SQL injection attemps.

My role in the project

Technical responsible person for the web site and developer. In the past I've successfully built stable web applications with the support of PowerDB. However the project is obsolete today and should not be used, as there are better and smarter ORMs.

Here are some links for historical purpose:
Visit powerdb on bitbucket ➥
Visit powerdb.engineroom.dk ➥