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)
Book search Django web project that uses requests python library and openlibrary API.

Book Search API Developer: Vladimir Vojtenko Book search Django web project that uses requests python library and openlibrary API. #requests #openlibr

1 Dec 08, 2021
Django Advance DumpData

Django Advance Dumpdata Django Manage Command like dumpdata but with have more feature to Output the contents of the database from given fields of a m

EhsanSafir 7 Jul 25, 2022
Official Python agent for the Elastic APM

elastic-apm -- Elastic APM agent for Python This is the official Python module for Elastic APM. It provides full out-of-the-box support for many of th

elastic 369 Jan 05, 2023
DRF_commands is a Django package that helps you to create django rest framework endpoints faster using manage.py.

DRF_commands is a Django package that helps you to create django rest framework endpoints faster using manage.py.

Mokrani Yacine 2 Sep 28, 2022
🌟 A social media made with Django and Python and Bulma. 🎉

Vitary A simple social media made with Django Installation 🛠️ Get the source code 💻 git clone https://github.com/foxy4096/Vitary.git Go the the dir

Aditya Priyadarshi 15 Aug 30, 2022
Agenda feita usando o django para adicionar eventos

Agenda de Eventos Projeto Agenda com Django Inicio O projeto foi iniciado no Django, usando o models.py foi adicionado os dados dos eventos e feita as

Bruno Fernandes 1 Apr 14, 2022
A blog app powered by python-django

Django_BlogApp This is a blog app powered by python-django Features Add and delete blog post View someone else blog Can add comment to that blog And o

Manish Jalui 1 Sep 12, 2022
A small Django app to easily broadcast an announcement across a website.

django-site-broadcasts The site broadcast application allows users to define short messages and announcements that should be displayed across a site.

Ben Lopatin 12 Jan 21, 2020
REST API with Django and SQLite3

REST API with Django and SQLite3

Luis Quiñones Requelme 1 Nov 07, 2021
Super simple bar charts for django admin list views visualizing the number of objects based on date_hierarchy using Chart.js.

Super simple bar charts for django admin list views visualizing the number of objects based on date_hierarchy using Chart.js.

foorilla LLC 4 May 18, 2022
Application made in Django to generate random passwords as based on certain criteria .

PASSWORD GENERATOR Welcome to Password Generator About The App Password Generator is an Open Source project brought to you by Iot Lab,KIIT and it brin

IoT Lab KIIT 3 Oct 21, 2021
Sistema administrador de contranas desarrollador en Django

Sistema Contrasenas Desarrolado en Django Proyecto sistema de administracion de contraseñas, de la experiencia educativa Programacion Segura Descripci

Ibrain Rodriguez Espinoza 1 Sep 24, 2022
Django React Flight Rezervation

Django Intro & Installation python -m venv venv source ./venv/Scripts/activate pip install Django pip install djangorestframework pip install python-d

HILMI SARIOGLU 2 May 26, 2022
Simple reproduction of connection leak with celery/django/gevent

Redis connection leak with celery/django/gevent Reproduces celery issue at https://github.com/celery/celery/issues/6819 using gevented django web serv

2 Apr 03, 2022
This a Django TODO app project and practiced how to deploy and publish the project to Heroku

ToDo App Demo | Project Table of Contents Overview Built With Features How to use Acknowledgements Contact Overview Built With HTML CSS JS Django How

Cetin OGUT 1 Nov 19, 2021
Tools to easily create permissioned CRUD endpoints in graphene-django.

graphene-django-plus Tools to easily create permissioned CRUD endpoints in graphene-django. Install pip install graphene-django-plus To make use of ev

Zerosoft 74 Aug 09, 2022
This website serves as an online database (hosted via SQLLite) for fictional businesses in the area to store contact information (name, email, phone number, etc.) for fictional customers.

Django-Online-Business-Database-Project this project is still in progress Overview of Website This website serves as an online database (hosted via SQ

1 Oct 30, 2021
Automatically deletes old file for FileField and ImageField. It also deletes files on models instance deletion.

Django Cleanup Features The django-cleanup app automatically deletes files for FileField, ImageField and subclasses. When a FileField's value is chang

Ilya Shalyapin 838 Dec 30, 2022
pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-dev 1.1k Dec 14, 2022
Add Chart.js visualizations to your Django admin using a mixin class

django-admincharts Add Chart.js visualizations to your Django admin using a mixin class. Example from django.contrib import admin from .models import

Dropseed 22 Nov 22, 2022