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)
An orgizational tool to keep track of tasks/projects and the time spent on them.

Django-Task-Manager Task Tracker using Python Django About The Project This project is an orgizational tool to keep track of tasks/projects and the ti

Nick Newton 1 Dec 21, 2021
A CTF leaderboard for the submission of flags during a CTF challenge. Built using Django.

🚩 CTF Leaderboard The goal of this project is to provide a simple web page to allow the participants of an CTF to enter their found flags. Also the l

Maurice Bauer 2 Jan 17, 2022
Django Serverless Cron - Run cron jobs easily in a serverless environment

Django Serverless Cron - Run cron jobs easily in a serverless environment

Paul Onteri 41 Dec 16, 2022
A simple E-commerce shop made with Django and Bulma

Interiorshop A Simple E-Commerce app made with Django Instructions Make sure you have python installed Step 1. Open a terminal Step 2. Paste the given

Aditya Priyadarshi 3 Sep 03, 2022
Probably the best abstract model / admin for your tree based stuff.

django-treenode Probably the best abstract model / admin for your tree based stuff. Features Fast - get ancestors, children, descendants, parent, root

Fabio Caccamo 360 Jan 05, 2023
xsendfile etc wrapper

Django Sendfile This is a wrapper around web-server specific methods for sending files to web clients. This is useful when Django needs to check permi

John Montgomery 476 Dec 01, 2022
A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for quickly creating new images from the one assigned to the field.

django-versatileimagefield A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for creat

Jonathan Ellenberger 490 Dec 13, 2022
A app for managing lessons with Django

Course Notes A app for managing lessons with Django Some Ideas

Motahhar.Mokfi 6 Jan 28, 2022
webfest Django project @innovaccer

inno-doctor webfest Django project @innovaccer setup guide create new directory for project clone the repo with url into the directory make sure pytho

Rohit sahu 6 Oct 28, 2022
A Django app that creates automatic web UIs for Python scripts.

Wooey is a simple web interface to run command line Python scripts. Think of it as an easy way to get your scripts up on the web for routine data anal

Wooey 1.9k Jan 08, 2023
Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

django-location-field Let users pick locations using a map widget and store its latitude and longitude. Stable version: django-location-field==2.1.0 D

Caio Ariede 481 Dec 29, 2022
Django Audit is a simple Django app that tracks and logs requests to your application.

django-audit Django Audit is a simple Django app that tracks and logs requests to your application. Quick Start Install django-audit pip install dj-au

Oluwafemi Tairu 6 Dec 01, 2022
Django project starter on steroids: quickly create a Django app AND generate source code for data models + REST/GraphQL APIs (the generated code is auto-linted and has 100% test coverage).

Create Django App 💛 We're a Django project starter on steroids! One-line command to create a Django app with all the dependencies auto-installed AND

imagine.ai 68 Oct 19, 2022
Django API that scrapes and provides the last news of the city of Carlos Casares by semantic way (RDF format).

"Casares News" API Api that scrapes and provides the last news of the city of Carlos Casares by semantic way (RDF format). Usage Consume the articles

Andrés Milla 6 May 12, 2022
Utility for working with recurring dates in Django.

django-recurrence django-recurrence is a utility for working with recurring dates in Django. Documentation is available at https://django-recurrence.r

408 Jan 06, 2023
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
Intellicards-backend - A Django project bootstrapped with django-admin startproject mysite

Intellicards-backend - A Django project bootstrapped with django-admin startproject mysite

Fabrizio Torrico 2 Jan 13, 2022
A django model and form field for normalised phone numbers using python-phonenumbers

django-phonenumber-field A Django library which interfaces with python-phonenumbers to validate, pretty print and convert phone numbers. python-phonen

Stefan Foulis 1.3k Dec 31, 2022
DCM is a set of tools that helps you to keep your data in your Django Models consistent.

Django Consistency Model DCM is a set of tools that helps you to keep your data in your Django Models consistent. Motivation You have a lot of legacy

Occipital 59 Dec 21, 2022
pdm-django: Django command shortcuts for PDM

pdm-django: Django command shortcuts for PDM A plugin that gives you command shortcuts for developing with PDM. pdm run python manage.py runserver -

Neutron Sync 2 Aug 11, 2022