Ruby on rails 4 Rails4:如何从数据库中删除表?

Ruby on rails 4 Rails4:如何从数据库中删除表?,ruby-on-rails-4,rails-migrations,drop-table,Ruby On Rails 4,Rails Migrations,Drop Table,在Rails 4文档()中,我看到要删除表或联接表,可以在命令行中使用以下方法: drop\u table和drop\u join\u table 然而,它进一步补充说,一个人必须“提供一个块”——我不知道这在执行中是什么样子 不管怎样,我的问题是:如何删除表或删除联接表 另外,当我说drop时,我的意思是从我的数据库中删除它。我知道我不能删除迁移,回滚迁移是不明智的,因为它会扰乱协作工作——因此,如果可以的话,我希望避免删除迁移文件和回滚迁移 我在创建迁移以填充数据库时犯了一个错误。我知道如何

在Rails 4文档()中,我看到要删除表或联接表,可以在命令行中使用以下方法:

drop\u table
drop\u join\u table

然而,它进一步补充说,一个人必须“提供一个块”——我不知道这在执行中是什么样子

不管怎样,我的问题是:如何删除表或删除联接表

另外,当我说drop时,我的意思是从我的数据库中删除它。我知道我不能删除迁移,回滚迁移是不明智的,因为它会扰乱协作工作——因此,如果可以的话,我希望避免删除迁移文件和回滚迁移

我在创建迁移以填充数据库时犯了一个错误。我知道如何修改表的列(添加新列、重命名列和删除列)。我只是不知道如何清除表

谢谢你考虑我的问题


我想从数据库中完全删除一个表。我的应用程序运行在Rails 4上

文档中定义了
drop\u join\u表
方法

它采用表1、表2的名称。示例:您有两个名为
categories
products
的表,以及名为
categories\u products
的联接表

因此,创建一个具有任意名称的迁移文件,然后编写代码删除联接表:

def change
  drop_join_table :categories, :products 
end
您可以将其他选项传递到
drop\u join\u table
方法,这些选项与此相同。查看此方法以查看更多选项

例如,如果联接表没有名称遵循约定,如
分类
,则可以指定它:

def change
  drop_join_table :categories, :products, table_name: categorization 
end
要删除表,使用以下方法更简单:


其他选项可以传递到
drop\u table
method,就像method

Hey Kien的选项一样,这是一个很好的细分。非常感谢。
def change
  drop_table :table_name
end