J'ai un tableau de produits et un de ProductGroups pour les classer. Maintenant, les ProductGroups seront supprimés et leurs données fusionnées dans la table Products.Migration des rails; fusionner deux modèles
J'ai effectué une migration qui traverse les enregistrements ProductGroup existants et les ajoute en tant que produits. Ceci afin que nous n'ayons pas à entrer de nouveau des centaines de groupes manuellement. Ensuite, la table product_groups est supprimée.
Ensuite, j'ai supprimé le modèle ProductGroup, les contrôleurs et ainsi de suite et j'ai validé les modifications. Cela a bien fonctionné en développement, mais évidemment si je mets maintenant à jour l'application de production, il faudra d'abord appliquer les changements du système de fichiers (suppression du modèle ProductGroup etc.) et la migration échouera car le modèle n'existe plus.
Quelle est la meilleure façon de résoudre ce problème? Ne devrais-je pas mettre le transfert de données dans une migration? Cela ressemble à catch-22.
Merci pour la suggestion, qui est en fait plus ou moins ce que je fini par faire; migré les données d'abord, puis mis à jour le code, en supprimant le modèle ProductGroup. Mais si quelqu'un d'autre avait appliqué mon engagement sans savoir ce que je faisais, il aurait certainement eu des problèmes. Ou si quelqu'un d'autre devait mettre à jour son dépôt plus tard. Heureusement que ce n'était pas un problème cette fois (c'est un projet solo), mais j'aimerais connaître une meilleure solution pour l'avenir. –