2011-01-05 6 views
5

J'ai un projet dans lequel je dois travailler sur une nouvelle fonctionnalité qui nécessite de re-concevoir une partie de la base de données tout en conservant la branche de développement principale fonctionnant sur l'ancien schéma.Comment gérer les branches git avec différents schémas db?

Quelle est votre meilleure pratique pour gérer un projet comme celui-ci?

Je pensais avoir une base de données distincte tout en travaillant sur la nouvelle fonctionnalité, mais je me suis rendu compte que cela nécessiterait d'avoir la config de la base de données vérifiée dans le référentiel qui est un non-go. Y a-t-il d'autres façons d'aborder le problème?


données de semences à la rescousse

droit après avoir affiché cette réponse m'a frappé - je devrais avoir quelques scripts servant à remplir ma db avec des données de semences. De cette façon, je peux simplement déposer/recréer/graine la base de données lors de la commutation entre les branches.

Répondre

1

La manière habituelle de traiter cela est de vérifier vos scripts de création de base de données dans le contrôle de source. Vous pouvez ensuite les ramifier et les gérer de la même manière que le reste de votre code source.

Vous aurez besoin d'un moyen de pointer votre code sur une instance particulière d'une base de données (qui a été créée en utilisant les scripts de la branche actuelle).

+2

Merci Greg, car c'est Rails tous les scripts de création/migration de base de données sont déjà dans le contrôle de la source. Maintenant que j'y pense un peu plus, je suppose que tout ce dont j'ai vraiment besoin, c'est de données de départ afin que je puisse dropper/recréer/semer chaque fois que j'ai besoin de changer –

Questions connexes