emencia-recipe-drdump

Buildout recipe for 'Dr Dump'


License
MIT
Install
pip install emencia-recipe-drdump==0.3.1

Documentation

Buildout recipe for Dr Dump to generate bash script to dump or load Django data dump.

So this recipe will create two bash scripts, one to dump datas from defined eggs in buildout config and another to load these dumped datas.

This will use the defined eggs list in your buildout config to find the apps to manage dumps so be careful that it can't retrieve apps that are not defined in your eggs to install, it will not follow eggs dependancies but if needed you can force some apps using the extra_apps option.

recipe
Required, fill it with emencia-recipe-drdump.
eggs
Optional, 'eggs' variable from buildout. Default use ${buildout:eggs}.
dump_dir
Optional, a path to the directory that will contains dumped datas, this is always a relative path from the buildout project. If not defined the dumps dir will be dumps.
dependancies_map
Required, a path to a JSON file containing datas dependancies map between apps. This can be either a file name existing in Dr Dump or a path (relative or absolute) to an external JSON file.
extra_apps
Optional, a string of app names formatted like the egg names in ${buildout:eggs}. This will be used to defined additional apps that can't be retrieved from the installed eggs.
django_instance
Required, a path to the django script, usually the one generated by djangorecipe.
silent
Optional, false or true to define respectively if Dr Dump raise or not an exception when asked dumps does not exists in the used map.
dump_other_apps
Optional, false or true to define if Dr Dump will dump not specify apps in a last dump.
exclude_apps
Optional, a string of app names formatted like the egg names in ${buildout:eggs}. This will be used to defined additional apps that can't be dump if dump_other_apps is True.
bin_directory
Optional, binary directory path where the scripts will be written, defaut use ${buildout:bin-directory}.

Here is a sample to use this recipe :

[drdump]
recipe                  = emencia-recipe-drdump
dump_dir                = dumps
dependancies_map        = djangocms-3.json
silent                  = true
dump_other_apps         = true
exclude_apps            = auth sessions contenttypes menus.cachekey filebrowser
django_instance         = ${buildout:directory}/bin/django-instance
extra_apps              = cmsplugin-various
bin_directory           = ${buildout:bin-directory}