J'ai mis une certaine pensée dans ce et j'espère que je vais contribuer aux différentes opinions et les pratiques présentées ici.
Pensez à ce que votre local migrations représentent réellement. Lorsque l'on travaille en local avec un dev de base de données, j'utilise les migrations à la mise à jour de la base de données de la manière la plus pratique possible lors de l'ajout de colonnes, etc pour les tableaux, l'ajout de nouvelles entités, etc.
Donc, Ajoutez-le contrôle des mouvements Migratoires mon modèle actuel (appelons-le modèle b) à l'encontre de mon précédent modèle (modèle a) et génère une migration pour aller de a => b dans la base de données.
Pour moi, il fait très peu de sens pour essayer et fusionner mes migrations avec quelqu'un elses migrations, si tout le monde a en effet leur propre base de données et il n'existe alors une sorte de scène / test / dev / base de données de production les serveurs de l'organisation. Tout cela dépend de la façon dont l'équipe a mis en place, mais il est logique de les isoler les uns des autres à partir de variations que d'autres gens à faire si vous voulez vraiment travailler de manière distribuée.
Eh bien, si vous travaillez distribués et ont une certaine entité, d'une Personne, par exemple, que vous travaillez sur. Pour quelque raison, beaucoup d'autres personnes sont également de travailler sur elle. Donc, vous pouvez ajouter et supprimer des propriétés sur la Personne en tant que de besoin pour votre histoire en particulier dans le sprint (nous travaillons tous agile ici, n'est-ce pas?), comme le numéro de Sécurité Sociale que vous avez d'abord fait en un nombre entier, car vous n'êtes pas vif, puis à une chaîne de caractères etc.
Vous ajoutez FirstName Et LastName.
Vous êtes alors terminé et que vous avez dix bizarre en haut et en bas des migrations (vous avez probablement supprimé certains d'entre eux tout en travaillant depuis qu'ils étaient tout simplement de la merde) et vous chercher quelques modifications de la centrale repo Git. Wow. Votre collègue Bob a également besoin de quelques noms, peut-être devriez vous ai parlé les uns aux autres?
De toute façon, il a ajouté NameFirst et NameLast, je suppose que... que faites-vous? Eh bien, vous fusionner, refactoriser, changement de sorte qu'il est plus sain d'esprit des noms... comme FirstName et LastName, de l'exécution des tests et vérifier son code, et puis vous poussez à la centrale.
Mais ce sur les migrations? Eh bien, maintenant serait le moment de faire une migration de déplacer la centrale de pensions de titres, ou de la branche "test" plus précisément, contiennent un joli petit migration à partir de son modèle de a => b. Cette migration sera un et un seul de la migration, pas dix étranges.
Vous voyez de quoi je veux en venir? Nous travaillons avec de belles petites poco et les comparaisons d'entre eux constituent la migration. Donc, à nous de ne pas fusionner les migrations à tous, à mon avis, nous devrions avoir les migrations par branche ou quelque chose comme ça.
En fait, nous avons même besoin de créer de la migration dans la branche après la fusion? Oui, si cette base de données est automatiquement mise à jour, nous en avons besoin.
Dois travailler un peu plus, ce sont mes pensées sur ce, au moins.