2016-04-17 5 views
1

heute ausgeführt wird, wie oft habe ich versucht, Mischung ecto.migrate in meiner Phoenix Anwendung zu machen und fand überraschend die folgenden Fehler:Seltsame Fehler beim Ecto 2.0.0-rc.0 mit und ecto.migrate

warning: could not find repositories for application :adah. 

You can avoid this warning by passing the -r flag or by setting the 
repositories managed by this application in your config files: 

    config :adah, ecto_repos: [...] 

The configuration may be an empty list if it does not define any repo. 

** (Protocol.UndefinedError) protocol Enumerable not implemented for :ok 
(elixir) lib/enum.ex:1: Enumerable.impl_for!/1 
(elixir) lib/enum.ex:116: Enumerable.reduce/3 
(elixir) lib/enum.ex:1486: Enum.reduce/3 
(elixir) lib/enum.ex:609: Enum.each/2 
(mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2 

Meine deps sind:

phoenix_ecto: 3.0.0-rc.0 
ecto: 2.0.0-rc.0 
... 

Meine Konfigurationsdateien haben die folgenden Zeilen:

dev.ex: 

# Configure your database 
config :adah, Adah.Repo, 
    adapter: Ecto.Adapters.Postgres, 
    username: "postgres", 
    password: "postgres", 
    database: "adah_dev", 
    hostname: "localhost", 
    pool_size: 10 

test.ex: 

# Configure your database 
config :adah, Adah.Repo, 
adapter: Ecto.Adapters.Postgres, 
username: System.get_env("POSTGRES_USER") || "postgres", 
password: System.get_env("POSTGRES_PASSWORD") || "postgres", 
database: System.get_env("POSTGRES_DB") || "adah_test", 
hostname: System.get_env("POSTGRES_HOST") || "localhost", 
pool: Ecto.Adapters.SQL.Sandbox 

Und ich habe keine solchen Fehler beim Ausführen von Tests oder Serving-Seiten in der Entwicklungsumgebung, nur wenn ich mix ecto.migrate ausführen.

Also ... was sollte ich meinen Konfigurationsdateien hinzufügen oder in -r flag?

UPDATE: Ich glaube, es gibt einen Fehler und es entspricht phoenix-3.0.0-rc.0 oder ecto-2.0.0-rc.0-Pakete, denn wenn ich {: ecto, "== 2.0. 0-beta.2 ",: phoenix_ecto," 3.0.0-beta.2 "} schaltet, alles funktioniert wie erwartet.

+0

Haben Sie versucht zu tun, was der Fehler Sie zu tun schlägt vor: das heißt die Konfiguration hinzuzufügen? – michalmuskala

+0

@michalmuskala, ich bin mir nicht so sicher, was ich der Konfigurationsdatei hinzufügen sollte und in welcher Datei sollte ich es hinzufügen? Zu config.exs oder zu dev.exs? Ich meine, ist nicht gegeben Linien sind bereits Repos deklarieren? –

Antwort

4

Fügen Sie diese auf config/config.ex

config :adah, :ecto_repos, [Adah.Repo] 
+0

Danke, es hat geholfen, aber können Sie erklären, warum ist es erforderlich? –

Verwandte Themen