2010-07-14 5 views
0

Ceci est une question de rails sur les versions de migrationRétablir la migration de manière permanente puis embranchement

J'ai donc déjà quelques migrations. dire dans ma db/migrate/dossier j'ai quelques fichiers comme ceci:

  • 1_add_products.rb
  • 2_add_customers.rb
  • 3_add_addresses.rb
  • 4_add_tags.rb

et i 'ai couru "rake db: migrate" donc la version actuelle est 4. Je veux revenir à la version 2 en permanence et commencer à partir de là. Donc j'ai fait "rake db: migrate VERSION = 2" et cela a inversé les changements correctement pour refléter la version 2. Cependant, chaque fois que je lance "rake db: migrate", il exécute les 4 migrations et me remet à la version 4

Existe-t-il un moyen de revenir en permanence à une révision, puis de commencer à créer une nouvelle branche à partir de là? Puis-je simplement supprimer la migration 3 & 4 après le retour à la version 2? La raison pour laquelle je pose la question est parce qu'après avoir retourné à la version 2, j'ai besoin d'ajouter de nouvelles migrations et d'exécuter "rake db: migrate" et je ne veux surtout pas que migration 3 et migration 4 soient incluses.

Répondre

0

La suppression devrait fonctionner correctement. Assurez-vous simplement que vous l'avez fait reculer PARTOUT (développement, mise en scène, production) sinon vous rencontrerez des problèmes étranges.

Et oui, définitivement rollback alors supprimez, sinon votre base de données pensera qu'il est dans un état qui n'existe pas réellement.

Questions connexes