DoctrineMigrationsBundle avec Symfony 3.1

symfony bundle

Appréhender l’évolution du schéma de la base de données est très important durant le cycle de vie d’un projet, car la base de données étant le cœur de notre produit nous devons avoir toutes les informations sur ses changements et pouvoir faire un rollback au moindre problème. DoctrineMigrationsBundle est un bundle doctrine qui nous permet donc de suivre cette évolution, de migrer la structure et les données de notre base de données, de manière sécurisée et standardisée.

Configurer elasticsearch sur un projet symfony 2

elasticsearchlogo

Elasticsearch est un moteur de recherche libre. Elasticsearch fournit toutes les fonctionnalités d’un moteur de recherche nouvelle génération : les recherches par mots-clés « à la Google », les recherches par combinaison de critères et de filtres, le tri et la pagination des résultats, la gestion des synonymes, l’extraction de texte à partir de documents binaires, l’analyse et la navigation par facettes.

Dans cet article je vais vous présenter la configuration de base du bundle FOSElasticaBundle dans un projet Symfony 2.

Tests unitaires utilisant une base de données : de nouvelles perspectives ?

L’utilisation d’une BD dans le cadre des tests unitaires est une chose qui est assez délicate, et ce pour plusieurs raisons. En effet, les tests utilisant les BD ont la réputation d’être lents, et il est difficile d’être sûr de rendre une BD dans le même état que lorsqu’on l’a prise, c’est à dire de trouver de bonnes manières de faire des opérations de setup et de teardown.

C’est pour cela qu’il est parfois pratique de partir d’une Golden Database, c’est à dire une base de données préparée pour les tests (par exemple, dans le cas de Magento, une base de données allégée, dans laquelle on a par exemple vidé les logs, les tables de cache, les commandes, et dans laquelle on laisse uniquement le minimum en terme de produits, clients,…).

Pratique de nommage des tables et colonnes

L’objet de ce billet est de se pencher sur une pratique courante en gestion de base de données consistant à dénommer les tables et colonnes avec des termes bâtis sur des acronymes souvent imprononçables issus des noms des concepts sous-jacents aux tables. L’éclairage de la psychologie cognitive sur les caractéristiques des processus mis en œuvre lors d’un travail intellectuel permet de percevoir les travers d’une telle pratique.