Actualmente estamos utilizando SQL enrollado a mano en objetos de acceso a datos y una gran cantidad de procedimientos almacenados y disparadores que ascienden a alrededor de 20k líneas de código. Estamos descubriendo que los cambios simples están causando el trabajo de un par de días para solucionar y que los plazos se pierdan.¿Estrategias para hacer frente a la evolución del esquema?
Los cambios incluyen modificaciones en las tablas para hacer frente a datos adicionales, refactorización general del esquema en función de los informes de control de calidad/usuario, etc. Es un sistema muy activo que se está creando para reemplazar algo viejo y lento.
Analizamos las soluciones PHP ORM disponibles para tratar de limitar los efectos de estos cambios, pero fueron demasiado lentos para hacer frente a nuestro esquema; Los resultados sql "simples" tomaban órdenes de magnitud más larga que nuestras consultas personalizadas y hacían que las vistas de página de ~ .5 tuvieran más de 20 segundos.
¿Qué mejores prácticas/estrategias podría considerar para hacer frente a la evolución del esquema con bases de datos relacionales, en un contexto general?
Editar: se olvidó de mencionar acerca de los factores desencadenantes; tenemos una gran cantidad de datos que se basan en cambios en cascada, por ejemplo. un cambio de precio aquí para este usuario actualiza un precio hay para que usuario, etc.
Podría dar un ejemplo del tipo de cambio que se necesita mucho tiempo para poner en práctica? – finnw