Rails 4:如何从数据库中删除或删除(连接)表表



在 Rails 4 文档 (http://guides.rubyonrails.org/migrations.html#creating-a-join-table( 中,我看到要删除表或连接表,可以在命令行中使用以下方法:

drop_tabledrop_join_table.

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

不管这是我的问题:如何删除表或删除连接表?

另外,当我说丢弃时,我的意思是将其从我的数据库中删除。我知道我不能删除迁移,并且回滚迁移是不明智的,因为它会搞砸协作工作 - 所以我想避免删除迁移文件并回滚迁移(如果可以的话(。

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

感谢您考虑我的问题。

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

drop_join_table 方法在文档 drop_join_table 中定义

它采用表 1、表 2 名称。示例:您有 2 个名为 categoriesproducts 的表,并连接名为 categories_products 的表(

因此,使用

您喜欢的任何名称创建一个迁移文件,然后编写代码以删除联接表:

def change
  drop_join_table :categories, :products 
end

您可以将其他选项传递给drop_join_table方法,这些选项与create_join_table相同。查看此方法以查看更多选项。

例如,如果您的联接表没有名称遵循约定(如 categorization (,则可以指定它:

def change
  drop_join_table :categories, :products, table_name: categorization 
end

要删除表,使用drop_table方法更简单:

def change
  drop_table :table_name
end

其他选项可以传递给drop_table方法,例如create_table方法的选项

相关内容

  • 没有找到相关文章

最新更新