gpt4 book ai didi

ruby-on-rails-4 - Rails 4 : How to drop or remove (join) tables tables from database?

转载 作者:行者123 更新时间:2023-12-04 05:12:39 26 4
gpt4 key购买 nike

在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 方法的选项

关于ruby-on-rails-4 - Rails 4 : How to drop or remove (join) tables tables from database?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20578157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com