如何使用 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