Un de nos projets (Chill, un logiciel pour services sociaux) assemble plusieurs bundles Symfony2 dans une application. Il est également prévu que les utilisateurs puissent, selon leurs besoins, installer plusieurs bundles de leur choix, voire d'en créer de nouveaux. Les bundles peuvent avoir éventuellement besoin de la base de données: ils doivent alors être capables de créer des tables, de les manipuler, etc.
Pour gérer la création du schéma de la base de données, nous utilisons DoctrineMigrationsBundle, un composant qui s’intègre à l’application et permet de gérer les modifications du schéma. Les modifications sont enregistrées dans des classes de migrations, dont la structure doit être celle-ci :
[Lire plus]