2016-06-24 5 views
1

Ich habe a library, die Ecto und Postgrex verwendet (Postgrex wird nur in Tests verwendet)."Herunterfahren: konnte nicht gestartet Kind: DBConnection.Ownership.Manager" nach der Aktualisierung der Bibliothek von Ecto 1 bis Ecto 2

Nach dem Ecto 1 bis Ecto Upgrade 2 begann die Testsuite diesen Fehler geben:

$ mix test 
Compiling 4 files (.ex) 
Generated ectoo app 
** (EXIT from #PID<0.46.0>) shutdown: failed to start child: DBConnection.Ownership.Manager 
    ** (EXIT) exited in: GenServer.call(DBConnection.Ownership.PoolSupervisor, {:start_child, [#PID<0.175.0>, Postgrex.Protocol, [pool: DBConnection.Poolboy, types: true, hostname: "localhost", types: true, otp_app: :ectoo, repo: Ectoo.Repo, adapter: Ecto.Adapters.Postgres, database: "ectoo_test", username: "henrik", pool_timeout: 5000, timeout: 15000, adapter: Ecto.Adapters.Postgres, database: "ectoo_test", username: "henrik", extensions: [{Ecto.Adapters.Postgres.DateTime, []}, {Postgrex.Extensions.JSON, [library: nil]}], port: 5432]]}, :infinity) 
     ** (EXIT) no process 

Irgendwelche Ideen?

Antwort

3

Ich habe dies behoben, indem ich darauf geachtet habe, dass die App postgrex ausgeführt wird, wenn die Tests ausgeführt werden.

In mix.exs:

def application do 
    [applications: applications(Mix.env)] 
end 

defp applications(:test), do: [:logger, :postgrex] 
defp applications(_), do: [:logger]