【发布时间】:2016-11-24 15:04:23
【问题描述】:
我有一个使用默认设置构建的现有项目。现在我发现我真的不需要 Ecto 来做任何事情。我只想从代码中删除所有与数据库相关的事件。
有人可以指导我完成整个过程吗?
我已经从 mix.exs 中删除了所有关于 Ecto 的内容,但我想这还不够
更新:
我发现在 lib/api_test/repo.ex 文件中提到了 ecto。如果我删除该行,则会出现以下错误
=INFO REPORT==== 21-Jul-2016::12:43:30 ===
application: logger
exited: stopped
type: temporary
** (Mix) Could not start application api_test: ApiTest.start(:normal, []) returned an error: shutdown: failed to start child: ApiTest.Repo
** (EXIT) an exception was raised:
** (UndefinedFunctionError) function ApiTest.Repo.start_link/0 is undefined or private
(api_loc) ApiTest.Repo.start_link()
(stdlib) supervisor.erl:365: :supervisor.do_start_child/2
(stdlib) supervisor.erl:348: :supervisor.start_children/3
(stdlib) supervisor.erl:314: :supervisor.init_children/2
(stdlib) gen_server.erl:328: :gen_server.init_it/6
(stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3
【问题讨论】:
-
我将开始从 deps 中删除
phoenix_ecto并查看编译器开始抱怨的地方。从 mix.exs 中删除 ecto 后编译器在哪里没有抱怨? -
您可以使用
--no-ecto标志创建一个新的phoenix 项目,然后将其与您现有的比较。 -
你还有没有在某处提到过
worker(ApiTest.Repo, args),这样的行?看看你的项目中是否仍然提到了 Repo。
标签: elixir phoenix-framework ecto