Я не могу понять, как откатить базу данных при попытке сделать это через приложение phoenix, работающее в контейнере docker. Я пытаюсь локально смоделировать, как это было бы при миграции на удаленный сервер.
Я запускаю его локально, запустив:
docker run -it -p 4000:4000 -e DATABASE_URL=ecto://postgres:postgres@host.docker.internal/my_app_dev -e SECRET_KEY_BASE=blahblah my-app-tag:v1
Я просматриваю запущенные контейнеры с:
docker ps
I bash в контейнер
docker exec -it 8943918c8f4f /bin/bash
cd в app/bin
cd bin
попытка отката
./my_app rpc 'MyApp.Release.rollback(MyApp.Repo, "20191106071140")'
=> 08:43:45.516 [info] Already down
Если это действительно работало при запуске через приложение, оно должно взорваться, поскольку я делаю разные вещи. Но это не так.
Если я пробую eval
./my_app eval 'MyApp.Release.rollback(MyApp.Repo, "20191106071140")'
=>
08:46:22.033 [error] GenServer #PID<0.207.0> terminating
** (RuntimeError) connect raised KeyError exception: key :database not found. The exception details are hidden, as they may contain sensitive data such as database credentials. You may set :show_sensitive_data_on_connection_error to true when starting your connection if you wish to see all of the details
(elixir) lib/keyword.ex:393: Keyword.fetch!/2
(postgrex) lib/postgrex/protocol.ex:92: Postgrex.Protocol.connect/1
(db_connection) lib/db_connection/connection.ex:69: DBConnection.Connection.connect/2
(connection) lib/connection.ex:622: Connection.enter_connect/5
(stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: nil
** (EXIT from #PID<0.163.0>) shutdown
, я пытаюсь убедиться, что знаю, как развернуть приложение на удаленном компьютере (Heroku, AWS) и получить Приложение автоматически переносится при каждом развертывании, но также имеет возможность запустить команду для отката на 1 шаг за раз.
Я не нахожу никакой информации. Вышеприведенная отладка является первым шагом в создании этой функции переноса / отката на удаленном сервере, но сначала выполняется тестирование на моей локальной машине.
Код переноса / отката берется непосредственно из https://hexdocs.pm/phoenix/releases.html#ecto -migrations-and -custom-команды
Любая помощь / направление будет принята с благодарностью.
Спасибо