Comment supprimer les fichiers de migration dans Rails 3

Je souhaite supprimer / supprimer un fichier de migration. Comment pourrais-je faire ça? Je sais qu’il y a des questions similaires ici, mais en tant que mise à jour, y a-t-il un meilleur moyen que de faire un script / détruire?

De même, devrais-je faire une db:reset ou db:drop si je supprime / supprime une migration?

D’habitude je:

  1. Effectuez une rake db:migrate VERSION=XXX sur tous les environnements, vers la version avant celle que je souhaite supprimer.
  2. Supprimez le fichier de migration manuellement.
  3. S’il y a des migrations en attente (c’est-à-dire que la migration que j’ai supprimée n’était pas la dernière), j’effectue simplement une nouvelle rake db:migrate nouveau.

Si votre application est déjà en production ou en phase de déploiement, il est préférable de simplement écrire une autre migration qui détruit votre table ou vos colonnes.

Une autre excellente référence pour les migrations est: http://guides.rubyonrails.org/migrations.html

Une autre façon de supprimer la migration:

 $ rails d migration SameMigrationNameAsUsedToGenerate 

Utilisez-le avant que rake db:migrate soit exécuté car les modifications de la firebase database restront indéfiniment 🙂 – ou supprimez les modifications manuellement

Exécutez ci-dessous les commandes du répertoire personnel de l’application:

  1. rake db:migrate:down VERSION="20140311142212" (la version est ici l’horodatage ajouté par les rails lors de la création de la migration. Cette action annulera les modifications de firebase database dues à cette migration)

  2. Run "rails destroy migration migration_name" (nom_migration est celui que vous avez choisi lors de la création de la migration. Supprimez ” timestamp_ ” du nom de votre fichier de migration pour l’obtenir)

On peut utiliser,

 $ rails d migration table_name 

Qui supprimera la migration.

Nous pouvons également réduire la migration comme

 rake db:migrate:down VERSION=versionnumber 

Se référer à Rubyonrailsguide

Parfois, je me suis retrouvé à supprimer le fichier de migration, puis à supprimer l’entrée correspondante de la table schema_migrations de la firebase database. Ce n’est pas beau, mais ça marche.

Regardez 4.1 Rouler en arrière

http://guides.rubyonrails.org/migrations.html

$ rake db: rollback

Je viens d’avoir le même problème:

  1. rails d migration fuu -cela a supprimé la migration avec le dernier horodatage
  2. rails d migration fuuceci a supprimé l’autre migration
  3. utiliser le statut git pour vérifier que ce n’est plus sur les fichiers non suivis
  4. rails g migration fuu

Cela a corrigé pour moi