J'ai un db de production, que je prépare avecComment db: migrer après db: schéma: charge
rake db:create db:schema:load db:seed
Je ajoute aussi les migrations, lors de la livraison de mon produit, de sorte que les installations existantes peuvent être mises à jour. Après le schéma: load seule la version de la dernière migration est stockée dans schema_migrations, donc quand j'exécute db: migrate, le migrator essaie d'exécuter toutes les autres migrations qui ne sont pas encore dans schema_migrations.
Existe-t-il un bon moyen, pour faire face à cela, qui ne nécessite pas de moi, de réduire les migrations (parce que c'est malheureusement hors de question - tout comme db: migrer comme étape de préparation)?
Vous avez raison, il est difficile de faire fonctionner les anciennes migrations. Avec l'âge et la taille de ce projet, malheureusement, nous ne pouvons pas passer le temps nécessaire pour les faire fonctionner à nouveau. C'est pourquoi dans la dernière phrase que j'ai mentionnée, db: migrate n'est pas une option. – CMW
Désolé, je n'ai pas eu raison. En fait, dans mes projets, db: reset n'a pas fait repasser les anciennes migrations. Eh bien, j'ai déjà eu un très vieux projet, évoluant depuis les rails 2. *, où je viens de supprimer toutes les anciennes migrations, et je n'ai eu aucun problème avec ça. Git gardera la trace juste au cas où;) – sergeych