gpt4 book ai didi

mysql - Rails 无法在数据库中找到记录(但实际存在)

转载 作者:行者123 更新时间:2023-11-29 19:40:09 25 4
gpt4 key购买 nike

例如,我正在数据库中搜索某些内容,Model.find_by(slug: :name)。它在本地环境中工作正常,但在测试中它给了我零。 (我检查了三遍,db中有记录)。

我什至添加了调试来查看日志。当我执行 Model.where(slug: :name).count 时,它返回 0。但是记录确实存在于此 slug 名称。

我该去哪里解决这个问题?

最佳答案

运行测试时,Rails 使用不同的数据库。常见约定是项目名称_开发与项目名称_测试(最后是项目名称_生产)。

通常测试系统还会在运行测试之前清除测试数据库。这有两个原因:

  • 您不想通过测试弄乱您的开发数据库。许多开发人员让他们的测试在开发过程中持续运行。
  • 您编写的每个测试都应该适合自己,独立于周围的数据。

您必须为每个测试设置测试数据。您没有提到您使用什么测试系统。

看看FixturesFactory Girl .

关于mysql - Rails 无法在数据库中找到记录(但实际存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41401538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com