0

当我运行时,mix edeliver migrate production我收到此错误:

production node:

  user    : deploy
  host    : myIP
  path    : /home/deploy
  response: RPC to 'bot@127.0.0.1' failed: {'EXIT',
                                {#{'__exception__' => true,
                                   '__struct__' =>
                                    'Elixir.DBConnection.ConnectionError',
                                   message =>
                                    <<"connection not available because of disconnection">>},
                                 [{'Elixir.DBConnection',checkout,2,
                                   [{file,"lib/db_connection.ex"},{line,926}]},
                                  {'Elixir.DBConnection',run,3,
                                   [{file,"lib/db_connection.ex"},{line,742}]},
                                  {'Elixir.DBConnection',run_meter,3,
                                   [{file,"lib/db_connection.ex"},
                                    {line,1133}]},
                                  {'Elixir.DBConnection',prepare_execute,4,
                                   [{file,"lib/db_connection.ex"},{line,584}]},
                                  {'Elixir.Ecto.Adapters.Postgres.Connection',
                                   execute,4,
                                   [{file,
                                     "lib/ecto/adapters/postgres/connection.ex"},
                                    {line,86}]},
                                  {'Elixir.Ecto.Adapters.SQL',sql_call,6,
                                   [{file,"lib/ecto/adapters/sql.ex"},
                                    {line,256}]},
                                  {'Elixir.Ecto.Adapters.SQL','query!',5,
                                   [{file,"lib/ecto/adapters/sql.ex"},
                                    {line,198}]},
                                  {'Elixir.Ecto.Adapters.Postgres',
                                   '-execute_ddl/3-fun-0-',4,
                                   [{file,"lib/ecto/adapters/postgres.ex"},
                                    {line,85}]}]}}

我做了 remote_console 并Application.get_all_env(:example)检查了数据库详细信息,它们是正确的。我正在同一台服务器上部署另一个 phoenix 应用程序,并且数据库正常工作。

我尝试在两个应用程序上更改池大小,但没有帮助。

我想我可能做错了什么,但由于接线错误而无法查明。

4

1 回答 1

0

好的,一年多之后,在使用 edeliver/distilery 进行部署时,我仍然会遇到这些模糊的消息迁移错误。

我找到了启用远程数据库访问和修改dev.exs配置以临时使用生产数据库的最佳解决方案。然后运行mix ecto.migrate显示实际错误,在我目前的情况下是:

permission denied to create extension "pg_trgm"

于 2019-03-04T20:00:45.243 回答