# Transfering the config to/from the database
-!!! danger
- This is a Work In Progress, not usable just yet.
-
-Every command should be ran with a prefix, in case of OTP releases it is `./bin/pleroma_ctl config` and in case of source installs it's
-`mix pleroma.config`.
+{! backend/administration/CLI_tasks/general_cli_task_info.include !}
## Transfer config from file to DB.
-```sh
-$PREFIX migrate_to_db
-```
+!!! note
+ You need to add the following to your config before executing this command:
+
+ ```elixir
+ config :pleroma, configurable_from_database: true
+ ```
+
+=== "OTP"
+
+ ```sh
+ ./bin/pleroma_ctl config migrate_to_db
+ ```
+
+=== "From Source"
+
+ ```sh
+ mix pleroma.config migrate_to_db
+ ```
## Transfer config from DB to `config/env.exported_from_db.secret.exs`
-```sh
-$PREFIX migrate_from_db <env>
-```
+!!! note
+ In-Database configuration will still be applied after executing this command unless you set the following in your config:
+
+ ```elixir
+ config :pleroma, configurable_from_database: false
+ ```
+
+To delete transfered settings from database optional flag `-d` can be used. `<env>` is `prod` by default.
+
+=== "OTP"
+ ```sh
+ ./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
+ ```
+
+=== "From Source"
+ ```sh
+ mix pleroma.config migrate_from_db [--env=<env>] [-d]
+ ```