Management commands to help backup and restore your project database and media files

Overview

Django Database Backup

Documentation Status https://coveralls.io/repos/django-dbbackup/django-dbbackup/badge.svg?branch=master&service=github Code Health

This Django application provides management commands to help backup and restore your project database and media files with various storages such as Amazon S3, Dropbox, local file storage or any Django storage.

It is made for:

  • Ensure your backup with GPG signature and encryption
  • Archive with compression
  • Deal easily with remote archiving
  • Great to keep your development database up to date.
  • Use Crontab or Celery to setup automated backups.

Docs

See our offical documentation at Read The Docs.

Why use DBBackup

This software doesn't reinvent the wheel, in few words it is a pipe between your Django project and your backup storage. It tries to use the traditional dump & restore mechanisms, apply compression and/or encryption and use the storage system you desire.

It gives a simple interface to backup and restore your database or media files.

Management Commands

dbbackup

Backup your database to the specified storage. By default this will backup all databases specified in your settings.py file and will not delete any old backups. You can optionally specify a server name to be included in the backup filename.

Usage: ./manage.py dbbackup [options]

Options:
  --noinput             Tells Django to NOT prompt the user for input of any
                        kind.
  -q, --quiet           Tells Django to NOT output other text than errors.
  -c, --clean           Clean up old backup files
  -d DATABASE, --database=DATABASE
                        Database to backup (default: everything)
  -s SERVERNAME, --servername=SERVERNAME
                        Specify server name to include in backup filename
  -z, --compress        Compress the backup files
  -e, --encrypt         Encrypt the backup files
  -o OUTPUT_FILENAME, --output-filename=OUTPUT_FILENAME
                        Specify filename on storage
  -O OUTPUT_PATH, --output-path=OUTPUT_PATH
                        Specify where to store on local filesystem
  -x EXCLUDE_TABLES, --exclude-tables=EXCLUDE_TABLES
                        Exclude tables data from backup (-x 'public.table1, public.table2')

dbrestore

Restore your database from the specified storage. By default this will lookup the latest backup and restore from that. You may optionally specify a servername if you you want to backup a database image that was created from a different server. You may also specify an explicit local file to backup from.

Usage: ./manage.py dbrestore [options]

Options:
  --noinput             Tells Django to NOT prompt the user for input of any
                        kind.
  -d DATABASE, --database=DATABASE
                        Database to restore
  -i INPUT_FILENAME, --input-filename=INPUT_FILENAME
                        Specify filename to backup from
  -I INPUT_PATH, --input-path=INPUT_PATH
                        Specify path on local filesystem to backup from
  -s SERVERNAME, --servername=SERVERNAME
                        Use a different servername backup
  -c, --decrypt         Decrypt data before restoring
  -p PASSPHRASE, --passphrase=PASSPHRASE
                        Passphrase for decrypt file
  -z, --uncompress      Uncompress gzip data before restoring

mediabackup

Backup media files by get them one by one, include in a TAR file.

Usage: ./manage.py mediabackup [options]

Options:
  --noinput             Tells Django to NOT prompt the user for input of any
                        kind.
  -q, --quiet           Tells Django to NOT output other text than errors.
  -c, --clean           Clean up old backup files
  -s SERVERNAME, --servername=SERVERNAME
                        Specify server name to include in backup filename
  -z, --compress        Compress the archive
  -e, --encrypt         Encrypt the backup files
  -o OUTPUT_FILENAME, --output-filename=OUTPUT_FILENAME
                        Specify filename on storage
  -O OUTPUT_PATH, --output-path=OUTPUT_PATH
                        Specify where to store on local filesystem

mediarestore

Restore media files from storage backup to your media storage.

Usage: ./manage.py mediarestore [options]

Options:
  --noinput             Tells Django to NOT prompt the user for input of any
                        kind.
  -q, --quiet           Tells Django to NOT output other text than errors.
  -i INPUT_FILENAME, --input-filename=INPUT_FILENAME
                        Specify filename to backup from
  -I INPUT_PATH, --input-path=INPUT_PATH
                        Specify path on local filesystem to backup from
  -e, --decrypt         Decrypt data before restoring
  -p PASSPHRASE, --passphrase=PASSPHRASE
                        Passphrase for decrypt file
  -z, --uncompress      Uncompress gzip data before restoring
  -r, --replace         Replace existing files

Contributing

All contribution are very welcomed, propositions, problems, bugs and enhancement are tracked with GitHub issues system and patch are submitted via pull requests.

We use Travis coupled with Coveralls as continious integration tools.

https://ga-beacon.appspot.com/UA-87461-7/django-dbbackup/home

Tests

Tests are stored in dbbackup.tests and for run them you must launch:

python runtests.py

In fact, runtests.py acts as a manage.py file and all Django command are available. So you could launch:

python runtests.py shell

For get a Python shell configured with the test project. Also all test command options are available and usable for run only some chosen tests. See Django test command documentation for more informations about it.

There are even functional tests:

./functional.sh

See documentation for details about

To run the tests across all supported versions of Django and Python, you can use Tox. Firstly install Tox:

pip install tox

To run the tests just use the command tox in the command line. If you want to run the tests against just one specific test environment you can run tox -e <testenv>. For example, to run the tests with Python3.3 and Django1.9 you would run:

tox -e py3.3-django1.9

The available test environments can be found in tox.ini.

Comments
  • MediaBackup can backup s3 data to other backends

    MediaBackup can backup s3 data to other backends

    Feature Request

    many files of our fully dockerized app are stored inside s3. we'd be happy if the mediabackup command would be able to include those inside the backup to any backend.

    Describe the solution you'd like

    Name bucket and paths inside a config. then this content is included in backup.

    opened by patroqueeet 0
  • Refactor to remove tight coupling with Django??

    Refactor to remove tight coupling with Django??

    Feature Request

    I'm looking for a generic Python package for database backups that I can use on all projects (not just Django).

    I can't find anything suitable and I was wondering whether there may be any appetite to make django-dbbackup more loosely coupled to Django?

    Describe the solution you'd like

    I've not dug deep enough to know for sure whether this is sensible, but I think I'm suggesting decoupling BaseCommandDBConnector and BaseDbBackupCommand so that they can be used in plain Python or with other frameworks by using alternative base classes.

    opened by isedwards 1
  • HINT: Use DROP ... CASCADE to also remove linked objects. Partitioning table causing error?

    HINT: Use DROP ... CASCADE to also remove linked objects. Partitioning table causing error?

    Is there a solution for this error?

    I use architect 0.6.0 for table partitioning. betik_app_staff_workinghourmodel_y2022m05 table is a partition table.

    Error: public.betik_app_staff_workinghourmodel_y2022m05 table depends on public.betik_app_staff_workinghourmodel table object

    HINT: Use DROP ... CASCADE to also remove linked objects.

    Traceback (most recent call last):
    [email protected]    |   File "manage.py", line 22, in <module>
    [email protected]    |     main()
    [email protected]    |   File "manage.py", line 18, in main
    [email protected]    |     execute_from_command_line(sys.argv)
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    [email protected]    |     utility.execute()
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
    [email protected]    |     self.fetch_command(subcommand).run_from_argv(self.argv)
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
    [email protected]    |     self.execute(*args, **cmd_options)
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
    [email protected]    |     output = self.handle(*args, **options)
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/dbbackup/management/commands/dbrestore.py", line 68, in handle
    [email protected]    |     self._restore_backup()
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/dbbackup/management/commands/dbrestore.py", line 118, in _restore_backup
    [email protected]    |     self.connector.restore_dump(input_file)
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/dbbackup/db/base.py", line 105, in restore_dump
    [email protected]    |     return self._restore_dump(dump)
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/dbbackup/db/postgresql.py", line 89, in _restore_dump
    [email protected]    |     return super()._restore_dump(dump)
    container@testserver    |   File "/usr/local/lib/python3.8/site-packages/dbbackup/db/postgresql.py", line 64, in _restore_dump
    [email protected]    |     stdout, stderr = self.run_command(cmd, stdin=dump, env=self.restore_env)
    [email protected]    |   File "/usr/local/lib/python3.8/site-packages/dbbackup/db/base.py", line 171, in run_command
    [email protected]    |     raise exceptions.CommandConnectorError(
    [email protected]    | dbbackup.db.exceptions.CommandConnectorError: Error running:  psql --dbname=postgresql://postgres_user:[email protected]:5432/db --set ON_ERROR_STOP=on --single-transaction db
    [email protected]    | ERROR:  Unable to remove table "public.betik_app_staff_workinghourmodel" because other objects depend on it
    [email protected]    | DETAIL:  **public.betik_app_staff_workinghourmodel_y2022m05** table depends on **public.betik_app_staff_workinghourmodel** table object
    
    opened by lidyum 0
  • fix: restore tempfile created 0 B

    fix: restore tempfile created 0 B

    Type of PR (feature, enhancement, bug fix, etc.)

    Description

    File coming from external server like FTP are not well restored due to this error: Restore tempfile created 0 B

    I don't know if the fix is the good way to do it.

    Fixes #463

    opened by rsommerard 3
  • Restore tempfile created: 0 B

    Restore tempfile created: 0 B

    Bug Report

    Running the dbrestore command raise an error which is due to Restore tempfile created: 0 B.

    Describe the bug

    I use an FTP server as backup storage. Backup is store without issue on the FTP while the restore fail. If I download the file and run the command by filling the local path via the -I params it works well.

    File is not encrypted, not compressed.

    The command fail at: https://github.com/jazzband/django-dbbackup/blob/af443c5026a480fffd33c4bbb6b4b1981e6700cb/dbbackup/db/base.py#L157-L163

    And here is the traceback:

    Finding latest backup
    Restoring backup for database 'default' and server 'None'
    Restoring: default-me-myproject-2022-10-05-141541.psql.bin
    Restore tempfile created: 0 B
    Are you sure you want to continue? [Y/n] Y
    Traceback (most recent call last):
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/dbbackup/db/base.py", line 157, in run_command
        process = Popen(
      File "/usr/lib/python3.8/subprocess.py", line 808, in __init__
        errread, errwrite) = self._get_handles(stdin, stdout, stderr)
      File "/usr/lib/python3.8/subprocess.py", line 1477, in _get_handles
        p2cread = stdin.fileno()
    io.UnsupportedOperation: fileno
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "/home/me/.vscode/extensions/ms-python.python-2022.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/__main__.py", line 39, in <module>
        cli.main()
      File "/home/me/.vscode/extensions/ms-python.python-2022.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 430, in main
        run()
      File "/home/me/.vscode/extensions/ms-python.python-2022.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 284, in run_file
        runpy.run_path(target, run_name="__main__")
      File "/home/me/.vscode/extensions/ms-python.python-2022.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path
        return _run_module_code(code, init_globals, run_name,
      File "/home/me/.vscode/extensions/ms-python.python-2022.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code
        _run_code(code, mod_globals, init_globals,
      File "/home/me/.vscode/extensions/ms-python.python-2022.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code
        exec(code, run_globals)
      File "/home/me/myproject/manage.py", line 25, in <module>
        execute_from_command_line(sys.argv)
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
        utility.execute()
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
        output = self.handle(*args, **options)
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/dbbackup/management/commands/dbrestore.py", line 68, in handle
        self._restore_backup()
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/dbbackup/management/commands/dbrestore.py", line 118, in _restore_backup
        self.connector.restore_dump(input_file)
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/dbbackup/db/base.py", line 105, in restore_dump
        return self._restore_dump(dump)
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/dbbackup/db/postgresql.py", line 124, in _restore_dump
        stdout, stderr = self.run_command(cmd, stdin=dump, env=self.restore_env)
      File "/home/me/myproject/.venv/lib/python3.8/site-packages/dbbackup/db/base.py", line 180, in run_command
        raise exceptions.CommandConnectorError(
    dbbackup.db.exceptions.CommandConnectorError: Error running:  pg_restore --dbname=postgresql://postgres:postgre[email protected]:30032/postgres --single-transaction --clean 
    fileno
    

    To Reproduce

    1. Run a local FTP server docker run -e FTP_USER_NAME=foo -e FTP_USER_PASS=pass -e FTP_USER_HOME=/home/foo -p 21:21 -p 30000-30009:30000-30009 -d stilliard/pure-ftpd
    2. Add the configuration
    DBBACKUP_CONNECTORS = {
        "default": {"CONNECTOR": "dbbackup.db.postgresql.PgDumpBinaryConnector"}
    }
    DBBACKUP_STORAGE = "storages.backends.ftp.FTPStorage"
    DBBACKUP_STORAGE_OPTIONS = {"location": "ftp://foo:[email protected]:21"}
    
    1. Backup the db: python manage.py dbbackup
    2. Restore: python manage.py dbrestore

    Versions

    • django-dbbackup==4.0.2

    • django-storages==1.13.1

    • Django==3.2.7

    • Python: 3.8

    • OS: Ubuntu 22.04.1 LTS x86_64

    Misc

    The mediarestore command works with the same params (no compression, not encrypted)

    opened by rsommerard 1
Releases(4.0.2)
  • 4.0.2(Sep 27, 2022)

    What's Changed

    • Docs: Fix removed host option, explain new options by @bittner in https://github.com/jazzband/django-dbbackup/pull/333
    • dbbackup.db.postgres typo fix by @LeeHanYeong in https://github.com/jazzband/django-dbbackup/pull/341
    • Replace ugettext_lazy with gettext_lazy by @sumanthratna in https://github.com/jazzband/django-dbbackup/pull/342
    • Fix broken link by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/349
    • Remove base_url in docs as it's not used by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/348
    • Update commands.rst to add missing command by @sumit4613 in https://github.com/jazzband/django-dbbackup/pull/337
    • Add changelog by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/351
    • Add documentation for django-storage by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/352
    • Fix headings for changelog by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/354
    • Changed logging settings from settings.py to late init by @asaf-kali in https://github.com/jazzband/django-dbbackup/pull/332
    • Drop django 1.11 and python 2.7 by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/353
    • Fix authentication error when postgres is password protected by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/361
    • using exclude-table-data instead by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/363
    • Add some issue templates by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/366
    • Replace travis with github actions by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/368
    • 'six' package dependency removed by @jerinpetergeorge in https://github.com/jazzband/django-dbbackup/pull/371
    • Add support for exclude tables data in the command interface by @KessoumML in https://github.com/jazzband/django-dbbackup/pull/375
    • Make the binary connector the default by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/339
    • Env password is no longer used since #361 by @jonathan-s in https://github.com/jazzband/django-dbbackup/pull/362
    • auth source added in mongodb. authentication issue fixed with mongodb… by @Ajaysainisd in https://github.com/jazzband/django-dbbackup/pull/379
    • Add support for Python 3.9-3.10 and Django 3.2 by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/401
    • Update CHANGELOG by @sumanthratna in https://github.com/jazzband/django-dbbackup/pull/376
    • Clean up README by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/407
    • Add support for Django 4.0 by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/408
    • Update changelog for PRs merged since 3.3.0 release by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/410
    • Include long description in package metadata by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/411
    • Add build environment by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/412
    • Fix RemovedInDjango41Warning related to default_app_config by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/413
    • Release 4.0.0b0 by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/414
    • Fix GitHub Actions configuration by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/419
    • Enable functional tests in CI by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/420
    • Update settings.py comment by @aaronvarghese in https://github.com/jazzband/django-dbbackup/pull/427
    • Jazzband transfer tasks by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/418
    • Add Jazzband contributing guidelines by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/435
    • Create release CI by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/436
    • Fix docs build and URLs by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/437
    • Refactoring and tooling by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/438
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-dbbackup/pull/439
    • Include package data to fix docs and pypi by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/440
    • Set package as not zip_safe by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/441
    • Fix manifest warning by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/442
    • Move VERSION source directory by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/443
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-dbbackup/pull/444
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-dbbackup/pull/446
    • Correct spelling mistakes by @EdwardBetts in https://github.com/jazzband/django-dbbackup/pull/447
    • Correct grammar in Docs and ReadMe by @millerthegorilla in https://github.com/jazzband/django-dbbackup/pull/448
    • fix GPG manual anchor and typo by @millerthegorilla in https://github.com/jazzband/django-dbbackup/pull/449
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-dbbackup/pull/450
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-dbbackup/pull/451
    • v4.0.1 by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/453
    • support for prometheus wrapped dbs by @tsundokum in https://github.com/jazzband/django-dbbackup/pull/455
    • Backup of SQLite fail if there are Virtual Tables (e.g. FTS tables). by @xbello in https://github.com/jazzband/django-dbbackup/pull/458
    • Closes #460: python-gnupg version increase breaks unencrypt_file func… by @chambersh1129 in https://github.com/jazzband/django-dbbackup/pull/461
    • v4.0.2 by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/462

    New Contributors

    • @bittner made their first contribution in https://github.com/jazzband/django-dbbackup/pull/333
    • @LeeHanYeong made their first contribution in https://github.com/jazzband/django-dbbackup/pull/341
    • @sumanthratna made their first contribution in https://github.com/jazzband/django-dbbackup/pull/342
    • @jonathan-s made their first contribution in https://github.com/jazzband/django-dbbackup/pull/349
    • @sumit4613 made their first contribution in https://github.com/jazzband/django-dbbackup/pull/337
    • @asaf-kali made their first contribution in https://github.com/jazzband/django-dbbackup/pull/332
    • @jerinpetergeorge made their first contribution in https://github.com/jazzband/django-dbbackup/pull/371
    • @KessoumML made their first contribution in https://github.com/jazzband/django-dbbackup/pull/375
    • @Ajaysainisd made their first contribution in https://github.com/jazzband/django-dbbackup/pull/379
    • @johnthagen made their first contribution in https://github.com/jazzband/django-dbbackup/pull/401
    • @aaronvarghese made their first contribution in https://github.com/jazzband/django-dbbackup/pull/427
    • @Archmonger made their first contribution in https://github.com/jazzband/django-dbbackup/pull/418
    • @pre-commit-ci made their first contribution in https://github.com/jazzband/django-dbbackup/pull/439
    • @EdwardBetts made their first contribution in https://github.com/jazzband/django-dbbackup/pull/447
    • @millerthegorilla made their first contribution in https://github.com/jazzband/django-dbbackup/pull/448
    • @tsundokum made their first contribution in https://github.com/jazzband/django-dbbackup/pull/455
    • @xbello made their first contribution in https://github.com/jazzband/django-dbbackup/pull/458
    • @chambersh1129 made their first contribution in https://github.com/jazzband/django-dbbackup/pull/461

    Full Changelog: https://github.com/jazzband/django-dbbackup/compare/3.3.0...4.0.2

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0rc1(May 10, 2022)

    What's Changed

    • As of this version, dbbackup is now within Jazzband! This version tests our Jazzband release CI, and adds miscellaneous refactoring/cleanup.
    • Fix GitHub Actions configuration by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/419
    • Enable functional tests in CI by @johnthagen in https://github.com/jazzband/django-dbbackup/pull/420
    • Update settings.py comment by @aaronvarghese in https://github.com/jazzband/django-dbbackup/pull/427
    • Jazzband transfer tasks by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/418
    • Refactoring and tooling by @Archmonger in https://github.com/jazzband/django-dbbackup/pull/438

    New Contributors

    • @aaronvarghese made their first contribution in https://github.com/jazzband/django-dbbackup/pull/427
    • @Archmonger made their first contribution in https://github.com/jazzband/django-dbbackup/pull/418

    Full Changelog: https://github.com/jazzband/django-dbbackup/compare/4.0.0b0...4.0.0rc1

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0b0(Dec 19, 2021)

    What's Changed

    • Docs: Fix removed host option, explain new options by @bittner in https://github.com/django-dbbackup/django-dbbackup/pull/333
    • dbbackup.db.postgres typo fix by @LeeHanYeong in https://github.com/django-dbbackup/django-dbbackup/pull/341
    • Replace ugettext_lazy with gettext_lazy by @sumanthratna in https://github.com/django-dbbackup/django-dbbackup/pull/342
    • Fix broken link by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/349
    • Remove base_url in docs as it's not used by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/348
    • Update commands.rst to add missing command by @sumit4613 in https://github.com/django-dbbackup/django-dbbackup/pull/337
    • Add changelog by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/351
    • Add documentation for django-storage by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/352
    • Fix headings for changelog by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/354
    • Changed logging settings from settings.py to late init by @asaf-kali in https://github.com/django-dbbackup/django-dbbackup/pull/332
    • Drop django 1.11 and python 2.7 by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/353
    • Fix authentication error when postgres is password protected by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/361
    • using exclude-table-data instead by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/363
    • Add some issue templates by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/366
    • Replace travis with github actions by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/368
    • 'six' package dependency removed by @jerinpetergeorge in https://github.com/django-dbbackup/django-dbbackup/pull/371
    • Add support for exclude tables data in the command interface by @KessoumML in https://github.com/django-dbbackup/django-dbbackup/pull/375
    • Make the binary connector the default by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/339
    • Env password is no longer used since #361 by @jonathan-s in https://github.com/django-dbbackup/django-dbbackup/pull/362
    • auth source added in mongodb. authentication issue fixed with mongodb… by @Ajaysainisd in https://github.com/django-dbbackup/django-dbbackup/pull/379
    • Add support for Python 3.9-3.10 and Django 3.2 by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/401
    • Update CHANGELOG by @sumanthratna in https://github.com/django-dbbackup/django-dbbackup/pull/376
    • Clean up README by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/407
    • Add support for Django 4.0 by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/408
    • Update changelog for PRs merged since 3.3.0 release by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/410
    • Include long description in package metadata by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/411
    • Add build environment by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/412
    • Fix RemovedInDjango41Warning related to default_app_config by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/413
    • Release 4.0.0b0 by @johnthagen in https://github.com/django-dbbackup/django-dbbackup/pull/414

    New Contributors

    • @bittner made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/333
    • @LeeHanYeong made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/341
    • @sumanthratna made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/342
    • @jonathan-s made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/349
    • @sumit4613 made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/337
    • @asaf-kali made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/332
    • @jerinpetergeorge made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/371
    • @KessoumML made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/375
    • @Ajaysainisd made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/379
    • @johnthagen made their first contribution in https://github.com/django-dbbackup/django-dbbackup/pull/401

    Full Changelog: https://github.com/django-dbbackup/django-dbbackup/compare/3.3.0...4.0.0b0

    Source code(tar.gz)
    Source code(zip)
Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Wanderson Fontes 2 Sep 21, 2022
Exploit Discord's cache system to remote upload payloads on Discord users machines

Exploit Discord's cache system to hide payloads PoC Remote upload embedded payload from image using EOF to Discord users machines through cache. Depen

cs 169 Dec 20, 2022
A reusable Django model field for storing ad-hoc JSON data

jsonfield jsonfield is a reusable model field that allows you to store validated JSON, automatically handling serialization to and from the database.

Ryan P Kilby 1.1k Jan 03, 2023
A django integration for huey task queue that supports multi queue management

django-huey This package is an extension of huey contrib djhuey package that allows users to manage multiple queues. Installation Using pip package ma

GAIA Software 32 Nov 26, 2022
Silk is a live profiling and inspection tool for the Django framework.

Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before presenting them in a user interface for further inspection:

Jazzband 3.7k Jan 02, 2023
Tutorial para o projeto negros.dev - A Essência do Django

Negros Dev Tutorial para o site negros.dev Este projeto foi feito com: Python 3.8.9 Django 3.1.8 Bootstrap 4.0 Como rodar o projeto? Clone esse reposi

Regis Santos 6 Aug 12, 2022
Serve files with Django.

django-downloadview django-downloadview makes it easy to serve files with Django: you manage files with Django (permissions, filters, generation, ...)

Jazzband 328 Dec 07, 2022
A feature flipper for Django

README Django Waffle is (yet another) feature flipper for Django. You can define the conditions for which a flag should be active, and use it in a num

950 Dec 26, 2022
A fresh approach to autocomplete implementations, specially for Django.

A fresh approach to autocomplete implementations, specially for Django. Status: v3 stable, 2.x.x stable, 1.x.x deprecated. Please DO regularely ping us with your link at #yourlabs IRC channel

YourLabs 1.6k Dec 22, 2022
Pipeline is an asset packaging library for Django.

Pipeline Pipeline is an asset packaging library for Django, providing both CSS and JavaScript concatenation and compression, built-in JavaScript templ

Jazzband 1.4k Jan 03, 2023
Use watchfiles in Django’s autoreloader.

django-watchfiles Use watchfiles in Django’s autoreloader. Requirements Python 3.7 to 3.10 supported. Django 2.2 to 4.0 supported. Installation Instal

Adam Johnson 43 Dec 14, 2022
Quick example of a todo list application using Django and HTMX

django-htmx-todo-list Quick example of a todo list application using Django and HTMX Background Modified & expanded from https://github.com/jaredlockh

Jack Linke 54 Dec 10, 2022
It takes time to start a Django Project and make it almost production-ready.

It takes time to start a Django Project and make it almost production-ready. A developer needs to spend a lot of time installing required libraries, setup a database, setup cache as well as hiding se

Khan Asfi Reza 1 Jan 01, 2022
A slick ORM cache with automatic granular event-driven invalidation.

Cacheops A slick app that supports automatic or manual queryset caching and automatic granular event-driven invalidation. It uses redis as backend for

Alexander Schepanovski 1.7k Jan 03, 2023
Median and percentile for Django and MongoEngine

Tailslide Median and percentile for Django and MongoEngine Supports: PostgreSQL SQLite MariaDB MySQL (with an extension) SQL Server MongoDB 🔥 Uses na

Andrew Kane 4 Jan 15, 2022
Build reusable components in Django without writing a single line of Python.

Build reusable components in Django without writing a single line of Python. {% #quote %} {% quote_photo src="/project-hail-mary.jpg" %} {% #quot

Mitchel Cabuloy 277 Jan 02, 2023
🔥 Campus-Run Django Server🔥

🏫 Campus-Run Campus-Run is a 3D racing game set on a college campus. Designed this service to comfort university students who are unable to visit the

Youngkwon Kim 1 Feb 08, 2022
Resolve form field arguments dynamically when a form is instantiated

django-forms-dynamic Resolve form field arguments dynamically when a form is instantiated, not when it's declared. Tested against Django 2.2, 3.2 and

DabApps 108 Jan 03, 2023
🗂️ 🔍 Geospatial Data Management and Search API - Django Apps

Geospatial Data API in Django Resonant GeoData (RGD) is a series of Django applications well suited for cataloging and searching annotated geospatial

Resonant GeoData 53 Nov 01, 2022
Django-powered application about blockchain (bitcoin)

Django-powered application about blockchain (bitcoin)

Igor Izvekov 0 Jun 23, 2022