我试图将Ecto添加到我的项目中。它是一个标准项目,没有用--s
生成来添加主管。
到目前为止,我已经
了 mix ecto.gen.repo -r MyApp.Repo
生成它就好了。
在我config/dev.exs
我有以下内容:
config :my_app,
ecto_repos: [MyApp.Repo]
config :my_app, MyApp.Repo,
adapter: Ecto.Adapters.Postgres,
database: System.get_env("DATABASE_NAME"),
username: System.get_env("DATABASE_USER"),
password: System.get_env("DATABASE_PASSWORD"),
hostname: System.get_env("DATABASE_HOST"),
port: System.get_env("DATABASE_PORT")
在myapp/repo.ex
我有:
defmodule MyApp.Repo do
use Ecto.Repo, otp_app: :my_app
end
然而,当我用
创建回购时mix ecto.create --env=dev
我得到了
warning: could not find Ecto repos in any of the apps: [:my_app].
You can avoid this warning by passing the -r flag or by setting the
repositories managed by those applications in your config/config.exs:
config :eos, ecto_repos: [...]
如果我省略--env
标志,也会发生这种情况。
我绝望地迷失了。这与入门指南一致(减去主管的东西,它没有表明是必需的),我在这里停滞不前。任何人都可以帮我解决这个问题吗?谢谢!
答案 0 :(得分:0)
Elixir默认只加载config/config.exs
中的配置声明。许多项目(包括Phoenix)使用的<env>.exs
约定要求将以下行添加到config/config.exs
的末尾,以便加载正确的exs文件:
import_config "#{Mix.env}.exs"