[PATCH 3/4] Add support for 'django-dbbackup'

Daniel Axtens dja at axtens.net
Tue Oct 9 12:54:06 AEDT 2018


Stephen Finucane <stephen at that.guru> writes:

> 'parsemail' and 'parsearchive' are slow. When messing with models and
> migrations, it can be very useful to backup the database in its current
> state and restore it if/when you mess up. Currently, we've documented
> how to do this via some commands run in the shell of the container, but
> we can do things easier via an application designed for this purpose:
> 'django-dbshell'.

You think it's better to include this dependency than to add a script to
tools/ that wraps mysqldump/mysqlrestore and the postgres equivalents?
I'm happy if you think this is the way to go, I just want to know you've
thought about it.

>
> Signed-off-by: Stephen Finucane <stephen at that.guru>
> ---
>  .gitignore                |  3 +++
>  patchwork/settings/dev.py | 13 +++++++++++++
>  requirements-dev.txt      |  1 +

Does this need docs added somewhere? I hadn't heard of django-dbshell
before this...

>  3 files changed, 17 insertions(+)
>
> diff --git a/.gitignore b/.gitignore
> index 57376bdd..a33d1029 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -54,3 +54,6 @@ patchwork/settings/production.py
>  
>  # docker-compose configuration files
>  /.env
> +
> +# django-dbbackup files
Also, here you've called it django-dbbackup, in the commit message it's
django-dbshell. It that correct?

Apart from that, I'm very much an ACK for the idea of making backups
easier.

Regards,
Daniel
> +/.backups
> diff --git a/patchwork/settings/dev.py b/patchwork/settings/dev.py
> index 4bb5a93c..711177c9 100644
> --- a/patchwork/settings/dev.py
> +++ b/patchwork/settings/dev.py
> @@ -9,6 +9,11 @@ Design based on:
>  
>  from .base import *  # noqa
>  
> +try:
> +    import dbbackup
> +except ImportError:
> +    dbbackup = None
> +
>  #
>  # Core settings
>  # https://docs.djangoproject.com/en/1.11/ref/settings/#core-settings
> @@ -72,6 +77,14 @@ INTERNAL_IPS = [
>      '172.18.0.1'
>  ]
>  
> +# django-dbbackup
> +
> +if dbbackup:
> +    INSTALLED_APPS += [
> +        'dbbackup',
> +    ]
> +
> +    DBBACKUP_STORAGE_OPTIONS = {'location': '.backups'}
>  
>  #
>  # Patchwork settings
> diff --git a/requirements-dev.txt b/requirements-dev.txt
> index b0cdd0de..ed98c30e 100644
> --- a/requirements-dev.txt
> +++ b/requirements-dev.txt
> @@ -3,4 +3,5 @@ Django==1.11.15; python_version < '3.0'  # pyup: ignore
>  djangorestframework==3.8.2
>  django-filter==2.0.0; python_version >= '3.4'
>  django-filter==1.1.0; python_version < '3.0'  # pyup: ignore
> +django-dbbackup==3.2.0
>  -r requirements-test.txt
> -- 
> 2.17.1
>
> _______________________________________________
> Patchwork mailing list
> Patchwork at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/patchwork


More information about the Patchwork mailing list