在轨道4文档(http://guides.rubyonrails.org/migrations.html#creating-a-join-table)我看到删除表或一个连接表,可以使用命令行以下方法:
drop_table
和drop_join_table
.
然而,它进一步补充说,必须"提供一个块" - 我不知道执行中的样子.
无论这里是我的问题:如何删除表或删除连接表?
另外,当我说丢弃时,我的意思是从我的数据库中删除它.我知道我无法删除迁移,并且回滚迁移是不明智的,因为它会影响协作工作 - 所以我想避免删除迁移文件并尽可能地回滚迁移.
创建迁移以填充数据库时,我犯了一个错误.我知道如何修改表的列(添加新的,重命名和删除它们).我只是不知道如何清除表格.
感谢您考虑我的问题.
我想从我的数据库中完全删除一个表.我的应用程序在Rails 4上运行.
该drop_join_table
方法在文档drop_join_table中定义
它需要表1,表2的名称.例如:您有2个表命名为categories
和products
,并加入指定的表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
方法选项