Elixir,postgresql错误:连接的类型无效

时间:2017-04-03 21:48:59

标签: postgresql elixir ecto semaphore-ci postgrex

我收到以下问题:

<body>
  <div class='Parent fit'>
    <iframe class='fit' src='http://stackoverflow.com'></iframe>
  </div>
</body>

我的模型架构定义如下:

ArgumentError{message: \"query %Postgrex.Query{columns: ["id", "name", "internal", "inserted_at", "updated_at"], name: "ecto_616034", param_formats: [:binary], param_oids: [25], param_types: [Postgrex.Extensions.Raw], ref: #Reference<0.0.1.107309>, result_formats: [:binary, :binary, :binary, :binary, :binary], result_oids: [23, 1043, 16, 1184, 1184], result_types: [Postgrex.Extensions.Int4, Postgrex.Extensions.Raw, Postgrex.Extensions.Bool, Ecto.Adapters.Postgres.TimestampTZ, Ecto.Adapters.Postgres.TimestampTZ], statement: "SELECT r0.\"id\", r0.\"name\", r0.\"internal\", r0.\"inserted_at\", r0.\"updated_at\" FROM \"roles\" AS r0 WHERE (r0.\"name\" = $1)", types: {Ecto.Adapters.Postgres.TypeModule, 35356751}} has invalid types for the connection\"}", status: "error"}

测试在我的本地计算机上运行正常,但每次都在semaphoreci上发生。我正在使用#34; postgis&#34;使用docker-compose。 image我已经尝试了&#34; postgres&#34;图像具有相同的结果。

非常感谢任何建议。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是在伞形应用程序中发生的,其中一个项目的seeds.exs文件错误地为伞形应用程序中的另一个应用程序调用了Repo模块。

所以

cat app1/priv/repo/seeds.exs

### Using The right Repo module ###
App1.Stuffs.query_stuff()
|> App1.Repo.one() # <== Should look like this -- Use App1.Repo module

### Using the wrong Repo module ###
App1.ThingStuffs.query_things() 
|> App2.Repo.one() # <== this was causing this error for me