使用 edeliver 部署 phoenix 在迁移时失败

Deploying phoenix with edeliver fails at migrate

当我 运行 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 应用程序。

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

我想我可能犯了一些小错误,但由于有线错误无法查明。

好吧,一年多过去了,在使用 edeliver/distilery 进行部署时,我仍然 运行 陷入这些模糊的消息迁移错误。

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

permission denied to create extension "pg_trgm"