Actions
R&D #447
ferméSystème de gestion des mises à jour des bases
Début:
10/12/2012
Echéance:
% réalisé:
0%
Temps estimé:
Vote:
Description
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)- 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
Actions