R&D #447
Mis à jour par Johan Cwiklinski il y a presque 12 ans
Le système actuel de mise à jour de Galette repose intégralement sur des fichiers SQL, ce qui ne permet pas certaines choses. De plus, il implique la modification de 4 fichiers (les fichiers d'installation et de mise à jour pour postgres et pour mysql) ; ce qui est tout sauf pratique, rapide et fiable... Il est aussi impossible de revenir à une ancienne version de la base, toute mise à jour est "définitive". Des ORM comme Doctrine fournissent ce genre de choses, mais c'est n'est pas utilisable sans avoir recours intégralement à l'ORM. Une solution alternative serait soit de développer un système propre à galette qui s'assure de la mise à jour des bases, soit d'en utiliser un existant. J'ai trouvé deux choses qui pourraient correspondre : * -http://phinx.org/- (ne supporte que MySQL) http://phinx.org/ * https://github.com/alwex/php-database-migration * https://github.com/Jaymon/Mingo * https://github.com/ruckus/ruckusing-migrations * http://www.doctrine-project.org/projects/migrations.html (probablement d'avantage problématique sans Doctrine...) * https://github.com/davedevelopment/phpmig * http://ezcomponents.org/docs/api/latest/introduction_DatabaseSchema.html (projet encore en vie ?) * http://www.phing.info/ + http://dbdeploy.com/ (http://davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy.html) * http://akrabat.com/zend-framework/akrabat_db_schema_manager-zend-framework-database-migrations/ Voir aussi http://fr.slideshare.net/harrieverveer/database-version-control-without-pain-the-phpnw10-version