Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Automate the destruction and re-creation of django databases

Project description

Compatible with Django 1.8+

For 1.7 compatibility use django-zap==0.0.6

What?

Automates the destruction and recreation of django databases.

Currently only supports local postgres databases. Feel free to add more backends.

Why?

In the early stages of development when your models are heavily in flux, you want to be frequently dropping and recreating the database before re-running django’s syncdb command. This tool uses the database settings in your settings file to prevent you having to duplicate them in some separate database drop/create script.

How?

Just add zap to your installed apps.

A new django management command will appear: zap_and_create_db.

Help is at python manage.py zap_and_create_db --help but the TL;DR is that you can run it without arguments and it’ll drop the user and database, then recreate them. Run it with --migrate and it’ll also run manage.py migrate.

Backends

At the moment the only backend is for linux machines running a local postgresql instance, and authentication is done using the ident rule in the pg_hba.conf, then calling psql as the postgres user.

Feel free to provide more backends or extend the one we have, perhaps to include mac support, or support for other django database engines.

Changelog

0.0.7 (2016-10-07)

Now only compatible with django 1.8+

  • Replaces option_list with add_arguments

0.0.6 (2015-10-29)

  • Adds --droptest argument, which also drops the test database. This feature is aimed at people using –keepdb to speed up their test runs.

0.0.5 (2015-09-16)

  • database argument now passed to backend in support of multiple database setups.

0.0.4 (2015-04-01)

  • #3 Adds a new flag --dropconnections, disabled by default, that tells postgres to terminate all existing sessions before zapping. This is to work around an issue where third party applications open database connections upon app registry installation.

0.0.3 (2015-02-12)

  • Adds OSX detection
  • Adds port option for postgres backend
  • Changes working directory of postgres subprocess command to /tmp

0.0.2 (2014-11-25)

  • Update how args are parsed to allow use from call_command

0.0.1 (2013-09-27)

  • All important fix-the-bladdy-packaging release

0.0.0 (2013-09-27)

  • Initial Release

Project details


Release history Release notifications

This version
History Node

0.0.7

History Node

0.0.6

History Node

0.0.5

History Node

0.0.4

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

History Node

0.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-zap-0.0.7.zip (10.8 kB) Copy SHA256 hash SHA256 Source None Oct 7, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page