Currently, we use a manual SQL package in Data-Access objects and many stored procedures and triggers, which comprise about 20 thousand lines of code. We find that simple changes cause work to be fixed in a couple of days, and its deadlines for slippage.
Changes include changes to tables to cope with additional data, general refactoring of the schema based on QA / user reports, etc. Its a very active system that is created to replace something old and slow.
We looked at the available PHP ORM solutions to try to limit the effects of these changes, but they were too slow to handle our scheme; The "simple" sql results were an order of magnitude longer than our user queries and caused ~ .5s page views to take longer than 20 seconds.
What best practices / strategies could I learn to deal with the evolution of a schema with relational databases in a general context?
Edit: forgot to mention triggers; we have a lot of data that are based on cascading changes, for example. changing the price here for this user updates the price there for this user, etc.
database continuous-integration agile
Phillip B Oldham Nov 20 '08 at 10:04 2008-11-20 10:04
source share