plu*_*ism 4 elixir web phoenix-framework
我正在按照本教程进行操作,在添加此代码和角色Factory之后,我收到以下错误:
15:09:08.808 [错误] GenServer #PID <0.245.0>终止**(UndefinedFunctionError)函数Ecto.Adapters.SQL.begin_test_transaction/1未定义或私有.你是说其中一个:
Run Code Online (Sandbox Code Playgroud)* in_transaction?/1 (ecto) Ecto.Adapters.SQL.begin_test_transaction(Pxblog.Repo) (elixir) src/elixir_compiler.erl:125: :elixir_compiler.dispatch_loaded/6 (elixir) src/elixir_lexical.erl:17: :elixir_lexical.run/3 (elixir) src/elixir_compiler.erl:30: :elixir_compiler.quoted/3 (elixir) lib/code.ex:363: Code.require_file/2 (elixir) lib/enum.ex:651: Enum."-each/2-lists^foreach/1-0-"/2 (elixir) lib/enum.ex:651: Enum.each/2 (mix) lib/mix/tasks/test.ex:216: Mix.Tasks.Test.run/1
这是我的test_helper.exs文件:
{:ok, _} = Application.ensure_all_started(:ex_machina)
ExUnit.start
Mix.Task.run "ecto.create", ~w(-r Pxblog.Repo --quiet)
Mix.Task.run "ecto.migrate", ~w(-r Pxblog.Repo --quiet)
Ecto.Adapters.SQL.begin_test_transaction(Pxblog.Repo)
Run Code Online (Sandbox Code Playgroud)
可能有什么不对?我已经更新了所有的依赖项mix deps.update --all.
提前致谢!
看起来您正在尝试按照已安装Ecto 2.0的Ecto 1.1教程进行操作,这不是完全向后兼容的.您可以降级您的ecto版本,查找更新的教程或探索Ecto 2中的更改,并调整您当前使用的教程 - http://blog.plataformatec.com.br/2016/04/ecto-2 -0-0-rc-is-out /应该给你一个良好的开端.