django-easydump

Easily load database snapshots across deployments
Download

django-easydump Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Other/Proprietary Li...
  • Price:
  • FREE
  • Publisher Name:
  • Chris Priest
  • Publisher web site:
  • http://ohiou.edu

django-easydump Tags


django-easydump Description

django-easydump is a Django app to:- Simply create database dumps no matter how large your database is (Django's loaddata and dumpdata commands choke on tables greater than a few thousand rows)- Customizable dumps that can exclude certain tables. Some tables contain static data which does not need to be backed up on the same schedule as, say, UserProfile data.- Automatic dump storage and retrieval.How it worksWhen you run the make_dump command, the plugin makes a call to pg_dump (only postgres supported at this time), creates a compressed dump, then uploads it to an S3 bucket. It is recommended to only run this command on your production deployment. Preferably in a cron.When the load_dump command is called (it is recommended to only run this command on your local/qa/staging deployments), the app will download the latest dump from the bucket (based on the timestamp in the key), and will apply that database dump into the current database.Installation pip install django-easydump add to INSTALLED_APPSConfigurationIn your settings, add three settings: AWS_SECRET_KEY, AWS_ACCESS_KEY, and EASYDUMP_MANIFESTS::AWS_SECRET_KEY = ''AWS_ACCESS_KEY = ''EASYDUMP_MANIFESTS = { 'location': { 'database': 'default', 'include-models': 'Location', 's3-bucket': 'my_dump_bucket' }, 'default': { 'database': 'default', 'exclude-models': 'Location', 'extra-tables': , 's3-bucket': 'my_dump_bucket' }}- database must match one in your DATABASES setting (old DATABASE_ settings are not recognized)- include-models is a list of models that you want included in the dump (leave blank to include all models)- exclude-models are models you want to not have included in dumps. This setting is ignored if include-models is defined.- extra-table is a list of table names that do not correlate to a django model which you want included in the dump.- s3-bucket is the name of the bucket you want dumps to be saved to.- reduced-redundancy - When uploading dumps, if this value is True, it will save the file to S3 using the reduced_redundancy flag.Usagepython manage.py make_dump defaultThis command will dump your database based on the default manifest in your settings and upload it to the S3 bucket.python manage.py load_dump locationThis command will download the latest dump according to the location manifest from the S3 bucket and apply it to your database. Make sure you don't run this command on your production machine, it will overwrite data!!python manage.py rotate_dumps defaultThis will go through your bucket and remove all dumps except for ones performed on at 9PM on a monday. This command is to keep your S3 bucket from getting huge. In future versions, this command will be customizable.Product's homepage


django-easydump Related Software