2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-13 18:45:40 +00:00

Backup enhancements (#7077)

* Update backup docs

* Add note on advanced usage

* Add extra options for backup and restore

* Update restore task
This commit is contained in:
Oliver
2024-04-22 23:01:10 +10:00
committed by GitHub
parent 50ca493667
commit 3f80a45cb5
2 changed files with 88 additions and 12 deletions

View File

@ -8,6 +8,9 @@ Backup functionality is provided natively using the [django-dbbackup library](ht
Note that a *backup* operation is not the same as [migrating data](./migrate.md). While data *migration* exports data into a database-agnostic JSON file, *backup* exports a native database file and media file archive.
!!! warning "Database Version"
When performing backup and restore operations, it is *imperative* that you are running from the same installed version of InvenTree. Different InvenTree versions may have different database schemas, which render backup / restore operations incompatible.
## Configuration
The following configuration options are available for backup:
@ -22,22 +25,31 @@ The following configuration options are available for backup:
If you want to use an external storage provider, extra configuration is required. As a starting point, refer to the [django-dbbackup documentation](https://django-dbbackup.readthedocs.io/en/master/storage.html).
Specific storage configuration options are specified using the `backup_options` dict (in the [configuration file](./config.md)).
Specific storage configuration options are specified using the `backup_options` dict (in the [configuration file](./config.md#backup-file-storage)).
## Perform Backup
#### Manual Backup
To perform a manual backup operation, run the following command from the shell:
To perform a basic manual backup operation, run the following command from the shell:
```
invoke backup
```
This will perform backup operation with the default parameters. To see all available backup options, run:
```
invoke backup --help
```
### Backup During Update
When performing an update of your InvenTree installation - via either [docker](./docker.md) or [bare metal](./install.md) - a backup operation is automatically performed.
!!! info "Skip Backup Step"
You can opt to skip the backup step during the update process by adding the `--skip-backup` option.
### Daily Backup
If desired, InvenTree can be configured to perform automated daily backups. The run-time setting to control this is found in the *Server Configuration* tab.
@ -56,3 +68,16 @@ To restore from a previous backup, run the following command from the shell (wit
```
invoke restore
```
To see all available options for restore, run:
```
invoke restore --help
```
## Advanced Usage
Not all functionality of the db-backup library is exposed by default. For advanced usage (not covered by the documentation above), refer to the [django-dbbackup commands documentation](https://django-dbbackup.readthedocs.io/en/master/commands.html).
!!! warning "Advanced Users Only"
Any advanced usage assumes some underlying knowledge of django, and is not documented here.