Rails 3:使用迁移删除表

时间:2011-08-18 01:31:57

标签: ruby-on-rails ruby-on-rails-3 migration

我有一个使用迁移创建的表,现在我想摆脱这个表。我很确定我可以退出迁移,但我找不到这样做的语法。我在搜索Rails DB Migration - How To Drop a Table?

时发现了这个问题

但他基本上说你可以找到你需要的东西并提供一个链接。我读了那个链接,我没有看到任何说明如何做到这一点。我看到了它的碎片,但我不知道如何将它们放在一起。

我在迁移中看到它有一个self.down方法,我真的只需要知道如何调用它。

5 个答案:

答案 0 :(得分:17)

尝试创建一个空迁移并使用:

drop_table :table_name

答案 1 :(得分:8)

您可以使用以下命令回滚上次迁移:

rake db:rollback

这将运行self.down方法,该方法应为drop_table :table_name

答案 2 :(得分:3)

rake db:rollback STEP=n

其中n是您需要回滚的步骤数。如果你离开STEP,它就会回滚1。

要迁移到特定版本,请使用:

rake db:migrate:down VERSION=20080906120000

如果您想快速应用表格删除,您可以创建新的迁移,运行它,然后将其与您不再需要的原始迁移一起删除。删除表的语法是:

drop_table :table_name

答案 3 :(得分:0)

销毁模型不是最佳方式。

而是在rails控制台中运行此命令:rake db:rollback

(要访问rails控制台,请在终端中输入rails c,如图所示here

答案 4 :(得分:-11)

您可以使用rake删除表以销毁模型:

rails destroy model your_model