【发布时间】:2011-04-30 12:37:56
【问题描述】:
我添加了一个我认为我会需要的表格,但现在不再打算使用它。我应该如何删除该表?
我已经运行了迁移,所以该表在我的数据库中。我认为rails generate migration 应该能够处理这个问题,但我还没有弄清楚如何。
我试过了:
rails generate migration drop_tablename
但这只是产生了一个空迁移。
在 Rails 中删除表的“官方”方式是什么?
【问题讨论】:
-
由于
rails generate migration具有用于生成用于创建表、添加或更改列等的迁移代码的命令行选项,如果它还具有删除表的选项会很好——但是它没有。当然,编写up部分很简单——只需调用drop_table——但再次生成表的down部分可能并不总是那么简单,尤其是在相关表的架构已更改的情况下通过初始创建后的迁移。也许有人应该向 Rails 的开发人员建议,添加这样一个选项是个好主意。 -
@TeemuLeisti 如何从 schema.rb 复制并粘贴当前表定义?我一直都这样……
-
@João Soares:好的,我想这行得通。但是,如果该过程可以自动化,那就太好了,这样您就可以只给出一个
rakemigration-creation 命令,并将表的名称作为参数,这将产生所需的up和down功能。
标签: ruby-on-rails ruby-on-rails-3 migration rollback drop-table