541 votes

Rails de Migration DB - comment faire pour supprimer une Table ?

J’ai ajouté un tableau que j’ai cru que j’allais avoir besoin, mais maintenant n’est plus plan sur l’utiliser. Comment dois-je enlever cette table ?

J’ai déjà couru les migrations, la table est donc dans ma base de données. Je me dis `` devrait être capable de gérer cela, mais je n’ai pas compris comment encore.

J’ai essayé `` , mais que seulement généré une migration vide.

Quel est le moyen « officiel » pour supprimer une table dans les Rails ?

683voto

Pete Points 6648

Vous avez l'habitude de toujours être en mesure de simplement générer la migration d'avoir déjà le code que vous voulez. Vous pouvez créer un vide migration, puis le remplir avec le code dont vous avez besoin.

Vous pouvez trouver des informations sur la façon d'accomplir les différentes tâches d'une migration ici:

http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

Plus précisément, vous pouvez voir comment supprimer une table à l'aide de l'approche suivante:

drop_table :table_name

371voto

Brandon O'Rourke Points 7509

Tout d’abord générer une migration vide avec n’importe quel nom que vous souhaitez. Il est important de faire de cette façon car elle crée la date appropriée.

Cela génèrera un fichier .rb dans/DB/migrate/comme 20111015185025_drop_products_table.rb

Maintenant modifier ce fichier pour ressembler à ceci :

La seule chose que j’ai ajouté a été et .

Exécutez ensuite `` et il laisse tomber de la table pour vous.

204voto

vint-i-vuit Points 1157

Alors que les réponses fournies ici fonctionnent correctement, je voulais quelque chose d’un peu plus « simple », je l’ai trouvé ici : lien entrez tout d’abord la console rails :

Ensuite il suffit de taper :

Où `` est le nom de la table. Et de fait, a fonctionné pour moi !

14voto

Francis Potter Points 811

Je pense que, pour être totalement "officiels", vous devez créer une nouvelle migration, et de mettre drop_table en soi.jusqu'. Le soi.méthode doit alors contenir tout le code pour recréer le tableau en plein. Sans doute que le code pourrait juste être prises à partir du schéma.rb lors de la création de la migration.

Il semble un peu bizarre, à mettre dans le code pour créer une table, vous savez que vous n'allez pas avoir besoin de plus, mais qui permettrait de maintenir tout le code de migration complète et "officiel", à droite?

Je l'ai juste fait pour une table j'avais besoin de la faire tomber, mais honnêtement n'ai pas tester le "bas" et ne sais pas pourquoi je le ferais.

7voto

manish nautiyal Points 1274

Vous ouvrez la console rails

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X