Je travaille sur une application rails avec un grand nombre de branches git et beaucoup d'entre elles incluent des migrations de données. Nous essayons d'être prudents, mais il arrive qu'un morceau de code dans le master demande une colonne qui a été supprimée/renommée dans une autre branche.
-
Quelle serait une bonne solution pour "coupler" les branches git avec les états de la DB ?
-
Quels seraient ces "états" en réalité ?
Nous ne pouvons pas simplement dupliquer une base de données si elle a une taille de quelques Go.
-
Et que doit-il se passer avec les fusions ?
-
La solution s'appliquerait-elle également aux bases de données noSQL ?
Nous utilisons actuellement MySQL, mongodb et redis.
EDIT : On dirait que j'ai oublié de mentionner un point très important, je ne suis intéressé que par la environnement de développement mais avec des bases de données volumineuses (de l'ordre de quelques Go).
0 votes
Que faites-vous pour avoir un environnement qui exécute votre branche maîtresse dont la base de données peut être modifiée par d'autres branches ? Je ne comprends pas quel est votre flux de travail ou pourquoi vous pensez avoir besoin de garder les branches en synchronisation avec des bases de données particulières.
3 votes
Disons que nous avons une table dans notre base de données avec des clients (nom, email, téléphone) et dans une branche nous avons divisé une des colonnes (nom -> prénom + nom). Jusqu'à ce que nous fusionnions la branche avec le master, le master et toutes les autres branches basées sur celui-ci échoueront.