parent
139336eb60
commit
7f7e5ffc5a
@ -0,0 +1,54 @@
|
|||||||
|
The Migration System allows Recyclarr to attempt certain automatic actions for the user. These
|
||||||
|
actions, referred to as Migration Steps, are usually in response to certain changes between releases
|
||||||
|
of Recyclarr (mostly major releases, which represent breaking changes). The overall goal of this
|
||||||
|
system is to reduce the amount of manual action a user must take.
|
||||||
|
|
||||||
|
## Behavior
|
||||||
|
|
||||||
|
1. When Recyclarr is executed, it first runs through all of the Migration Steps in a specific,
|
||||||
|
pre-determined order.
|
||||||
|
1. Each Migration Step is checked if it needs to run or not.
|
||||||
|
- If it needs to run, its actions are performed immediately.
|
||||||
|
- Otherwise, it is skipped and the next Migration Step is processed.
|
||||||
|
|
||||||
|
Migration Steps can fail. When this happens, instructions are provided to the user on how to recover
|
||||||
|
and/or perform those steps manually. Regardless of the reason, Recyclarr will immediately exit and
|
||||||
|
cannot proceed until the advice output during the previous execution is followed.
|
||||||
|
|
||||||
|
## Failure & Recovery
|
||||||
|
|
||||||
|
When a Migration Step fails, processing of further steps is halted and the program exits. The
|
||||||
|
failure also results in diagnostic information and remediation steps being printed to the console:
|
||||||
|
|
||||||
|
- A description of the Migration Step that failed. This is usually a description of what the step
|
||||||
|
was trying to do.
|
||||||
|
- A failure reason. Explains why the step failed and could not be processed.
|
||||||
|
- Remediation steps. One or more ways to solve the problem. Will likely either ask you to perform
|
||||||
|
the steps by hand or take some action to allow the migration step to succeed the next time
|
||||||
|
Recyclarr is executed.
|
||||||
|
|
||||||
|
## Current Migration Steps
|
||||||
|
|
||||||
|
The list below describes the migration steps that are performed today, under what conditions they
|
||||||
|
will be executed, and reasons why they might fail. Most of this information is already printed in
|
||||||
|
real time by Recyclarr in response to failures.
|
||||||
|
|
||||||
|
### Rename app data directory from `trash-updater` to `recyclarr`
|
||||||
|
|
||||||
|
- **When**: `v2.0`
|
||||||
|
- **What**: Renames your `trash-updater` app data directory to `recyclarr` automatically.
|
||||||
|
- **Why**: The application was renamed from Trash Updater to Recyclarr. Thus, the app data directory
|
||||||
|
name needed to follow suit.
|
||||||
|
- **How can it fail?**
|
||||||
|
- The `recyclarr` directory already exists.
|
||||||
|
- User lacks sufficient permissions on the filesystem.
|
||||||
|
|
||||||
|
### Rename default `trash.yml` file to `recyclarr.yml`
|
||||||
|
|
||||||
|
- **When**: `v2.0`
|
||||||
|
- **What**: Renames your `trash.yml` file to `recyclarr.yml` automatically.
|
||||||
|
- **Why**: The application was renamed from Trash Updater to Recyclarr. Thus, the app data directory
|
||||||
|
name needed to follow suit.
|
||||||
|
- **How can it fail?**
|
||||||
|
- The `recyclarr.yml` file already exists.
|
||||||
|
- User lacks sufficient permissions on the filesystem.
|
Loading…
Reference in new issue