Insert text representation of hashtags into object["hashtags"]
[akkoma] / docs / administration / CLI_tasks / database.md
index 647f6f27467aa87689a518b54cb7467daf02b52d..a2d2e8cdda516b57db0d2bdb322f7346a3f6876a 100644 (file)
@@ -9,13 +9,18 @@
 
 Replaces embedded objects with references to them in the `objects` table. Only needs to be ran once if the instance was created before Pleroma 1.0.5. The reason why this is not a migration is because it could significantly increase the database size after being ran, however after this `VACUUM FULL` will be able to reclaim about 20% (really depends on what is in the database, your mileage may vary) of the db size before the migration.
 
-```sh tab="OTP"
-./bin/pleroma_ctl database remove_embedded_objects [option ...]
-```
+=== "OTP"
+
+    ```sh
+    ./bin/pleroma_ctl database remove_embedded_objects [option ...]
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database remove_embedded_objects [option ...]
+    ```
 
-```sh tab="From Source"
-mix pleroma.database remove_embedded_objects [option ...]
-```
 
 ### Options
 - `--vacuum` - run `VACUUM FULL` after the embedded objects are replaced with their references
@@ -27,13 +32,17 @@ This will prune remote posts older than 90 days (configurable with [`config :ple
 !!! danger
     The disk space will only be reclaimed after `VACUUM FULL`. You may run out of disk space during the execution of the task or vacuuming if you don't have about 1/3rds of the database size free.
 
-```sh tab="OTP"
-./bin/pleroma_ctl database prune_objects [option ...]
-```
+=== "OTP"
 
-```sh tab="From Source"
-mix pleroma.database prune_objects [option ...]
-```
+    ```sh
+    ./bin/pleroma_ctl database prune_objects [option ...]
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database prune_objects [option ...]
+    ```
 
 ### Options
 - `--vacuum` - run `VACUUM FULL` after the objects are pruned
@@ -42,32 +51,54 @@ mix pleroma.database prune_objects [option ...]
 
 Can be safely re-run
 
-```sh tab="OTP"
-./bin/pleroma_ctl database bump_all_conversations
-```
+=== "OTP"
 
-```sh tab="From Source"
-mix pleroma.database bump_all_conversations
-```
+    ```sh
+    ./bin/pleroma_ctl database bump_all_conversations
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database bump_all_conversations
+    ```
 
 ## Remove duplicated items from following and update followers count for all users
 
-```sh tab="OTP"
-./bin/pleroma_ctl database update_users_following_followers_counts
-```
+=== "OTP"
 
-```sh tab="From Source"
-mix pleroma.database update_users_following_followers_counts
-```
+    ```sh
+    ./bin/pleroma_ctl database update_users_following_followers_counts
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database update_users_following_followers_counts
+    ```
 
 ## Fix the pre-existing "likes" collections for all objects
 
+=== "OTP"
+
+    ```sh
+    ./bin/pleroma_ctl database fix_likes_collections
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database fix_likes_collections
+    ```
+
+## Fill hashtags for old objects
+
 ```sh tab="OTP"
-./bin/pleroma_ctl database fix_likes_collections
+./bin/pleroma_ctl database fill_old_hashtags
 ```
 
 ```sh tab="From Source"
-mix pleroma.database fix_likes_collections
+mix pleroma.database fill_old_hashtags
 ```
 
 ## Vacuum the database
@@ -76,13 +107,17 @@ mix pleroma.database fix_likes_collections
 
 Running an `analyze` vacuum job can improve performance by updating statistics used by the query planner. **It is safe to cancel this.**
 
-```sh tab="OTP"
-./bin/pleroma_ctl database vacuum analyze
-```
+=== "OTP"
 
-```sh tab="From Source"
-mix pleroma.database vacuum analyze
-```
+    ```sh
+    ./bin/pleroma_ctl database vacuum analyze
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database vacuum analyze
+    ```
 
 ### Full
 
@@ -91,10 +126,28 @@ and more compact files with an optimized layout. This process will take a long t
 it builds the files side-by-side the existing database files. It can make your database faster and use less disk space,
 but should only be run if necessary. **It is safe to cancel this.**
 
-```sh tab="OTP"
-./bin/pleroma_ctl database vacuum full
-```
+=== "OTP"
 
-```sh tab="From Source"
-mix pleroma.database vacuum full
-```
\ No newline at end of file
+    ```sh
+    ./bin/pleroma_ctl database vacuum full
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database vacuum full
+    ```
+
+## Add expiration to all local statuses
+
+=== "OTP"
+
+    ```sh
+    ./bin/pleroma_ctl database ensure_expiration
+    ```
+
+=== "From Source"
+
+    ```sh
+    mix pleroma.database ensure_expiration
+    ```