事务与截断数据库清除程序

ell*_*nce 19 database gem transactions ruby-on-rails cucumber

最近我的一个黄瓜场景出了问题.功能运行时,我的测试数据库中的某些条目正在消失.我通过改变线来解决问题

DatabaseCleaner.strategy = :transaction
Run Code Online (Sandbox Code Playgroud)

DatabaseCleaner.strategy = :truncation
Run Code Online (Sandbox Code Playgroud)

我不确定为什么这有帮助.数据库清理工具宝石网页上有一个表格,但它并没有真正说出这两个术语的含义.任何帮助理解这两个概念之间的差异都会很棒.

soc*_*ata 37

以非常简单的方式放置它:截断从数据库中删除所有数据,并且事务回滚运行方案所做的所有更改.