Ruby on rails 4 Rails4:如何从数据库中删除表?
在Rails 4文档()中,我看到要删除表或联接表,可以在命令行中使用以下方法: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时,我的意思是从我的数据库中删除它。我知道我不能删除迁移,回滚迁移是不明智的,因为它会扰乱协作工作——因此,如果可以的话,我希望避免删除迁移文件和回滚迁移 我在创建迁移以填充数据库时犯了一个错误。我知道如何
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,就像methodHey Kien的选项一样,这是一个很好的细分。非常感谢。
def change
drop_table :table_name
end