24-02-2009, 10:21 PM
Une fois n'est pas coutume : oxman++.
En tous cas, j'insisterai surtout sur le fait que le code n'est pas censé être aligné avec des DONNEES mais avec une STRUCTURE de base de données. Quand (et seulement quand) tu changes la structure de la base (et donc forcément les données de base et/ou de test qui vont avec) tu vas mettre ça dans tes fichiers structure.sql et data.sql, qui va partir avec le commit...
Donc tu n'as pas à sauvegarder la base entière : ça grossit artificiellement ton dépot, et en plus tu perds toute possibilité d'analyser les différences de structure d'une révision à l'autre. Alors qu'avec une méthode basée sur un fichier SQL de structure versionné, tu peux en regardant son historique voir les modifications (SQL se marie très bien avec diff).
Et effectivement tu peux jeter un oeil aux migrations de Rails, et t'en inspirer pour mettre en place un système similaire.
P.S : si ta structure change presque à chaque commit, c'est que tu ne commit pas assez souvent. SVN n'a de réel intérêt que si l'historique est réellement exploitable pour faire des retours en arrière et autre merge, et ça n'est possible que si on fait des commits petits et nombreux.
En tous cas, j'insisterai surtout sur le fait que le code n'est pas censé être aligné avec des DONNEES mais avec une STRUCTURE de base de données. Quand (et seulement quand) tu changes la structure de la base (et donc forcément les données de base et/ou de test qui vont avec) tu vas mettre ça dans tes fichiers structure.sql et data.sql, qui va partir avec le commit...
Donc tu n'as pas à sauvegarder la base entière : ça grossit artificiellement ton dépot, et en plus tu perds toute possibilité d'analyser les différences de structure d'une révision à l'autre. Alors qu'avec une méthode basée sur un fichier SQL de structure versionné, tu peux en regardant son historique voir les modifications (SQL se marie très bien avec diff).
Et effectivement tu peux jeter un oeil aux migrations de Rails, et t'en inspirer pour mettre en place un système similaire.
P.S : si ta structure change presque à chaque commit, c'est que tu ne commit pas assez souvent. SVN n'a de réel intérêt que si l'historique est réellement exploitable pour faire des retours en arrière et autre merge, et ça n'est possible que si on fait des commits petits et nombreux.
Ressources [PHP][MySQL][prototype.js]