Add optimize maintenance function
This commit is contained in:
@@ -35,4 +35,6 @@ defmodule MusicLibrary.Repo do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def vacuum, do: query("VACUUM")
|
def vacuum, do: query("VACUUM")
|
||||||
|
|
||||||
|
def optimize, do: query("PRAGMA optimize")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -109,4 +109,20 @@ defmodule MusicLibraryWeb.MaintenanceLive.Index do
|
|||||||
|> put_toast(:error, "Database vacuum failed: #{inspect(reason)}.")}
|
|> put_toast(:error, "Database vacuum failed: #{inspect(reason)}.")}
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|||||||
@@ -91,13 +91,22 @@
|
|||||||
</p>
|
</p>
|
||||||
<ul class="mt-4">
|
<ul class="mt-4">
|
||||||
<li class="space-y-4">
|
<li class="space-y-4">
|
||||||
<.button
|
<.button_group>
|
||||||
type="button"
|
<.button
|
||||||
phx-click="db_vacuum"
|
type="button"
|
||||||
phx-disable-with={gettext("Running vacuum...")}
|
phx-click="db_vacuum"
|
||||||
>
|
phx-disable-with={gettext("Running vacuum...")}
|
||||||
{gettext("Vacuum")}
|
>
|
||||||
</.button>
|
{gettext("Vacuum")}
|
||||||
|
</.button>
|
||||||
|
<.button
|
||||||
|
type="button"
|
||||||
|
phx-click="db_optimize"
|
||||||
|
phx-disable-with={gettext("Running optimize...")}
|
||||||
|
>
|
||||||
|
{gettext("Optimize")}
|
||||||
|
</.button>
|
||||||
|
</.button_group>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1665,3 +1665,18 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr ""
|
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
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr ""
|
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