Des nouvelles ont été ajoutées en tête de listes.
Remontez pour les voir.
Inscription à la newsletter
Remplacement d'une couche de base de données locale par DBAL
DEV -
23/03
Comment waaseyaa a migré d'une base PdoDatabase locale vers Doctrine DBAL sur 67 commits - et comment les trois applications ont été mises à niveau sans interruption.
Ahnii!
Contexte de la série : Il s'agit de la partie 7 de la série Waaseyaa. Cet article s'appuie sur le système d'entités et la couche API du début de la série.
Chaque framework finit par devenir trop grand pour sa première abstraction de base de données. WaaseyaaBase de données Pdoclass nous a bien servi jusqu'à la v0.1.0, mais au moment où trois applications en dépendaient, les fissures sont apparues. Cet article couvre la migration vers Doctrine DBAL – 67 commits sur trois semaines – et comment les trois applications ont été mises à niveau sans un seul changement radical au niveau de la couche application.
Pourquoi remplacer une couche de base de données fonctionnelle
Base de données Pdoétait un mince wrapper autour du PDO de PHP. Il gérait les connexions, les instructions préparées et la prise en charge de base des transactions. C'était suffisant pour démarrer le framework.
Mais à mesure que le système d'entités mûrissait, nous avions besoin de chosesBase de données PdoJe ne pouvais pas fournir. Il n'y avait pas d'abstraction du générateur de requêtes : chaque requête était une chaîne SQL assemblée à la main. Il n’y avait pas d’introspection de schéma, nous ne pouvions donc pas inspecter les tables ou les colonnes par programme. Il n'existait aucun outil de migration, les modifications de schéma étaient donc des scripts SQL ad hoc. Et il n'existait aucun moyen systématique de gérer les différences entre SQLite (utilisé dans les tests) et MySQL (utilisé en production).
Ce ne sont pas des exigences exotiques. Ce sont des enjeux de table pour un cadre dont dépendent plusieurs applications.
Ce que DBAL vous apporte
Doctrine DBAL est la couche d'abstraction de base de données... [Courte citation de 8% de l'article original]
Loading...
🍪
Le modèle économique de notre site repose sur l'affichage de publicités personnalisées basées sur l'utilisation de cookies publicitaires. En continuant votre visite sur notre site, vous consentez à l'utilisation de ces cookies.
Politique de confidentialité