rails delete方法是否会触发postgresql DELETE CASCADE?

时间:2016-03-21 20:05:49

标签: ruby-on-rails postgresql activerecord

我有一个名为账户的表,非常大~600,000 +。从这张表中,我需要删除大约1/3的帐户。在帐户表上有许多对不同表的引用。我想要做的是批量删除帐户以加快进程,但看起来Rails delete方法不会这样做。

这是我的问题。 delete方法是否会触发DELETE CASCADE命令?我在rails控制台上尝试了它,看起来它实际上并没有触发DELETE CASCADEdelete方法的唯一目的是不触发rails回调吗?我可以研究一种不同的方法吗?

1 个答案:

答案 0 :(得分:2)

实际上没有名为DELETE CASCADE的Postgres命令。但是如果你有带有ON DELETE CASCADE选项的外键,那么是的,当你删除一行时,引用它的行也将被删除。这些都不是Rails,只是Postgres。