summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/configuration/howto_database_config.md26
-rw-r--r--lib/mix/tasks/pleroma/config.ex13
2 files changed, 31 insertions, 8 deletions
diff --git a/docs/configuration/howto_database_config.md b/docs/configuration/howto_database_config.md
index 9ed4d6cdd..d85b46bd1 100644
--- a/docs/configuration/howto_database_config.md
+++ b/docs/configuration/howto_database_config.md
@@ -140,14 +140,24 @@ If you encounter a situation where the server cannot run properly because of an
e.g., here is an example showing a minimal configuration in the database. Only the `config :pleroma, :instance` settings are in the table:
```
-psql -d pleroma_dev
-pleroma_dev=# select * from config;
- id | key | value | inserted_at | updated_at | group
-----+-----------+------------------------------------------------------------+---------------------+---------------------+----------
- 1 | :instance | \x836c0000000168026400046e616d656d00000007426c65726f6d616a | 2020-07-12 15:33:29 | 2020-07-12 15:33:29 | :pleroma
-(1 row)
-pleroma_dev=# delete from config where key = ':instance' and group = ':pleroma';
-DELETE 1
+$ mix pleroma.config keylist
+The following configuration keys are set in ConfigDB:
+
+- instance
+
+```
+
+```
+$ mix pleroma.config show instance
+config :pleroma, :instance, [name: "MyPleroma", description: "A fun place to hang out!", notify_email: "no-reply@mypleroma.com", email: "admin@mypleroma.com", account_activation_required: true]
+
+```
+
+To delete the saved settings for `:instance`:
+
+```
+$ mix pleroma.config keydel instance
+instance deleted from the ConfigDB.
```
Now the `config :pleroma, :instance` settings have been removed from the database.
diff --git a/lib/mix/tasks/pleroma/config.ex b/lib/mix/tasks/pleroma/config.ex
index 675dda0d0..574f8f4be 100644
--- a/lib/mix/tasks/pleroma/config.ex
+++ b/lib/mix/tasks/pleroma/config.ex
@@ -83,6 +83,19 @@ defmodule Mix.Tasks.Pleroma.Config do
end
end
+ def run(["reset"]) do
+ with true <- Pleroma.Config.get([:configurable_from_database]) do
+ start_pleroma()
+
+ Ecto.Adapters.SQL.query!(Repo, "TRUNCATE config;")
+ Ecto.Adapters.SQL.query!(Repo, "ALTER SEQUENCE config_id_seq RESTART;")
+
+ shell_info("The ConfigDB settings have been removed from the database.")
+ else
+ _ -> configdb_not_enabled()
+ end
+ end
+
def run(["keydel" | dbkey]) do
unless [] == dbkey do
with true <- Pleroma.Config.get([:configurable_from_database]) do