Une fois que vous vérifier dans une migration au contrôle de la source, je recommande de ne pas les modifier. Je fais une exception rare s'il y a un bug dans un, mais c'est assez rare (1 sur 100 peut-être). La raison en est qu'une fois qu'ils sont dehors dans la nature, certaines personnes peuvent les avoir exécutées. Ils sont enregistrés comme étant complétés dans le db. Si vous les modifiez et enregistrez une nouvelle version, les autres utilisateurs ne bénéficieront pas du changement. Vous pouvez demander aux utilisateurs d'annuler certaines modifications et de les réexécuter, mais cela va à l'encontre du but de l'automatisation. Fait souvent, il devient un gâchis. Il vaut mieux rester seul.
Lorsque vous obtenez un grand nombre de migrations, il peut commencer à se sentir gênant. En général, cependant, vous ne les utiliserez pas beaucoup. Le seul endroit où nous faisons cela est sur notre serveur d'intégration, qui supprime et recrée la base de données à chaque exécution. Donc, vous pouvez simplement ne pas ouvrir ce répertoire et prétendre qu'ils ne sont pas là.
Il existe une pratique de consolidation des migrations. Pour ce faire, copiez simplement le schéma actuel dans une migration et supprimez toutes les migrations précédentes. Vous avez ensuite moins de fichiers à gérer et les tests peuvent être exécutés plus rapidement. Vous devez faire attention à cela, surtout si vous avez des migrations qui s'exécutent automatiquement en production. Je remplace généralement une migration que je sais que tout le monde a exécuté avec le nouveau schéma. D'autres personnes ont des façons légèrement différentes de le faire.