From d12a461a5df76155845e37306747b4a6663367b6 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Thu, 10 Oct 2024 16:41:45 +0100 Subject: [PATCH] Improve error handling in db_pull task --- lib/mix/tasks/music_library/db_pull.ex | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/mix/tasks/music_library/db_pull.ex b/lib/mix/tasks/music_library/db_pull.ex index 7daf574e..5eff1529 100644 --- a/lib/mix/tasks/music_library/db_pull.ex +++ b/lib/mix/tasks/music_library/db_pull.ex @@ -15,15 +15,20 @@ defmodule Mix.Tasks.MusicLibrary.DbPull do remote_db = "/mnt/music_library/music_library_prod.db" local_db = "data/music_library_prod_#{DateTime.to_unix(current_time)}.db" - System.cmd("flyctl", ["ssh", "sftp", "get", remote_db, local_db], into: IO.stream()) + case System.cmd("flyctl", ["ssh", "sftp", "get", remote_db, local_db], into: IO.stream()) do + {_stream, 1} -> + IO.puts("Failed to pull the database") + System.halt(1) - IO.puts("Database pulled successfully") + {_stream, 0} -> + IO.puts("Database pulled successfully") - IO.puts("Restoring as local dev database") + IO.puts("Restoring as local dev database") - Path.wildcard("data/music_library_dev.db*") - |> Enum.each(&File.rm!/1) + Path.wildcard("data/music_library_dev.db*") + |> Enum.each(&File.rm!/1) - File.cp!(local_db, "data/music_library_dev.db") + File.cp!(local_db, "data/music_library_dev.db") + end end end