Add optimize maintenance function
This commit is contained in:
@@ -35,4 +35,6 @@ defmodule MusicLibrary.Repo do
|
||||
end
|
||||
|
||||
def vacuum, do: query("VACUUM")
|
||||
|
||||
def optimize, do: query("PRAGMA optimize")
|
||||
end
|
||||
|
||||
@@ -109,4 +109,20 @@ defmodule MusicLibraryWeb.MaintenanceLive.Index do
|
||||
|> put_toast(:error, "Database vacuum failed: #{inspect(reason)}.")}
|
||||
end
|
||||
end
|
||||
|
||||
def handle_event("db_optimize", _params, socket) do
|
||||
case Repo.optimize() do
|
||||
{:ok, _result} ->
|
||||
{:noreply,
|
||||
socket
|
||||
|> put_toast(:info, gettext("Database optimized successfully."))}
|
||||
|
||||
{:error, reason} ->
|
||||
Logger.error("Database optimize failed: #{inspect(reason)}.")
|
||||
|
||||
{:noreply,
|
||||
socket
|
||||
|> put_toast(:error, "Database optimize failed: #{inspect(reason)}.")}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
</p>
|
||||
<ul class="mt-4">
|
||||
<li class="space-y-4">
|
||||
<.button_group>
|
||||
<.button
|
||||
type="button"
|
||||
phx-click="db_vacuum"
|
||||
@@ -98,6 +99,14 @@
|
||||
>
|
||||
{gettext("Vacuum")}
|
||||
</.button>
|
||||
<.button
|
||||
type="button"
|
||||
phx-click="db_optimize"
|
||||
phx-disable-with={gettext("Running optimize...")}
|
||||
>
|
||||
{gettext("Optimize")}
|
||||
</.button>
|
||||
</.button_group>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -1665,3 +1665,18 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: lib/music_library_web/live/maintenance_live/index.ex
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Database optimized successfully."
|
||||
msgstr ""
|
||||
|
||||
#: lib/music_library_web/live/maintenance_live/index.html.heex
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Optimize"
|
||||
msgstr ""
|
||||
|
||||
#: lib/music_library_web/live/maintenance_live/index.html.heex
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Running optimize..."
|
||||
msgstr ""
|
||||
|
||||
@@ -1665,3 +1665,18 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: lib/music_library_web/live/maintenance_live/index.ex
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Database optimized successfully."
|
||||
msgstr ""
|
||||
|
||||
#: lib/music_library_web/live/maintenance_live/index.html.heex
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Optimize"
|
||||
msgstr ""
|
||||
|
||||
#: lib/music_library_web/live/maintenance_live/index.html.heex
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Running optimize..."
|
||||
msgstr ""
|
||||
|
||||
Reference in New Issue
Block a user