首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >删除数据库表中的所有记录

删除数据库表中的所有记录
EN

Stack Overflow用户
提问于 2011-03-16 15:39:57
回答 7查看 110K关注 0票数 141

如何在Ruby on Rails应用程序中删除数据库表中的所有记录?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-16 15:47:08

如果你正在寻找一种不需要SQL的方法,你应该能够使用delete_all。

代码语言:javascript
复制
Post.delete_all

或者有一个标准

代码语言:javascript
复制
Post.delete_all "person_id = 5 AND (category = 'Something' OR category = 'Else')"

有关详细信息,请参阅here

记录在没有加载的情况下被删除,这使得它非常快,但会破坏计数器缓存等依赖于删除时要执行的rails代码的功能。

票数 272
EN

Stack Overflow用户

发布于 2011-03-16 16:11:55

通过SQL删除

Item.delete_all # accepts optional conditions

通过调用每个模型的destroy方法来删除(开销很大,但确保调用回调)

Item.destroy_all # accepts optional conditions

所有here

票数 33
EN

Stack Overflow用户

发布于 2011-03-16 16:09:42

如果您想要完全清空数据库,而不仅仅是删除附加到数据库的一个或多个模型,您可以这样做:

代码语言:javascript
复制
rake db:purge

您也可以在测试数据库上执行此操作

代码语言:javascript
复制
rake db:test:purge
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5322298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档