小编jef*_*on3的帖子

测试时Ecto 2.0 SQL沙箱错误

我最近将我的凤凰项目升级到了Ecto 2.0.2.我有一些代码用于Task.Supervisor.async_nolink在自己的线程上对db进行一些更新.我的测试运行时出现以下错误(仅在我的测试中发生)

[error] Postgrex.Protocol (#PID<0.XXX.0>) disconnected: **
(DBConnection.ConnectionError) owner #PID<0.XXX.0> exited while 
client #PID<0.XXX.0> is still running with: shutdown
Run Code Online (Sandbox Code Playgroud)

现在我我了解发生了什么:在db事务完成之前,正在检查Ecto Sandbox连接池.根据文档(至少我读它们的方式),解决这些问题的方法是使用共享连接池:Ecto.Adapters.SQL.Sandbox.mode(MyApp.Repo, {:shared, self()})我正在做的事情.不幸的是,这不起作用.

如何设置我的测试以便不会发生此错误?

elixir ecto phoenix-framework

8
推荐指数
2
解决办法
1231
查看次数

在凤凰城设立Elixir的临时环境?

我正在尝试设置一个临时环境,当我使用除了prod我的混合环境以外的任何东西进行编译时遇到问题.我已经尝试设置一个stagstag.exs文件调用的自定义env ,但它似乎打破了.我很确定它是因为我看到的这条线mix.exs:

build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
Run Code Online (Sandbox Code Playgroud)

问题是我在所有deps文件夹中都看到了这一行.这是否意味着我应该使用Mix.envprod即使是我的分级环境?

elixir phoenix-framework

6
推荐指数
1
解决办法
1494
查看次数

标签 统计

elixir ×2

phoenix-framework ×2

ecto ×1