如何使用 Repo 刷新数据库
How to flush your database using Repo
更具体地说,我有一个使用 Ecto 和 Repo 的 Phoenix 应用程序。
我想在 运行 每次更改数据库的 Exunit 测试后刷新我的数据库。
我可以实现此目的的一种方法是 运行 priv/repo/migrations/
目录中迁移中的所有 change
函数,但我觉得应该有更好的方法。
也许像 运行 宁 flush 功能?
我相信当 运行 Ecto 处于沙盒模式时,我相信这已经为您处理了,这是 Phoenix 生成测试用例的方式。
如果您将这些副作用测试收集到一个文件中,您可以使用 setup 回调,如下所示:
setup do
for model <- [list modules you want to clear], do: Repo.delete_all(model)
end
更具体地说,我有一个使用 Ecto 和 Repo 的 Phoenix 应用程序。 我想在 运行 每次更改数据库的 Exunit 测试后刷新我的数据库。
我可以实现此目的的一种方法是 运行 priv/repo/migrations/
目录中迁移中的所有 change
函数,但我觉得应该有更好的方法。
也许像 运行 宁 flush 功能?
我相信当 运行 Ecto 处于沙盒模式时,我相信这已经为您处理了,这是 Phoenix 生成测试用例的方式。
如果您将这些副作用测试收集到一个文件中,您可以使用 setup 回调,如下所示:
setup do
for model <- [list modules you want to clear], do: Repo.delete_all(model)
end