Actuellement, nous utilisons du SQL roulé à la main dans les objets Data-Access et beaucoup de procédures stockées et de déclencheurs qui représentent environ 20k lignes de code. Nous constatons que de simples changements causent quelques jours de travail à corriger, et que les échéances sont en train de glisser.Statégies pour faire face à l'évolution des schémas?
Les modifications incluent des modifications de tables pour gérer des données supplémentaires, un refactoring général du schéma basé sur les rapports QA/user, etc. C'est un système très actif qui est en cours de construction pour remplacer quelque chose de vieux et lent.
Nous avons examiné les solutions PHP ORM disponibles pour essayer de limiter les effets de ces changements, mais ils étaient trop lents pour faire face à notre schéma; Les résultats SQL "simples" prenaient des ordres beaucoup plus longs à renvoyer que nos requêtes personnalisées et les pages vues de ~ .5s prenaient plus de 20 secondes. Quelles meilleures pratiques/stratégies pourrais-je envisager pour faire face à l'évolution des schémas avec des bases de données relationnelles, dans un contexte général?
Édition: oublié de mentionner les déclencheurs; nous avons beaucoup de données qui repose sur des changements en cascade, par exemple. un changement de prix ici pour cet utilisateur met à jour un prix il pour que utilisateur, etc.
Pourriez-vous donner un exemple du genre de changement qui prend beaucoup de temps pour mettre en œuvre? – finnw