Management commands¶
SiteTree comes with two management commands which can facilitate development and deployment processes.
sitetreedump¶
Sends sitetrees from database as a fixture in JSON format to output.
Output all trees and items into treedump.json file example:
python manage.py sitetreedump > treedump.json
You can export only trees that you need by supplying their aliases separated with spaces:
python manage.py sitetreedump my_tree my_another_tree > treedump.json
If you need to export only tree items without trees use --items_only
command switch:
python manage.py sitetreedump --items_only my_tree > items_only_dump.json
Use --help
command switch to get quick help on the command:
python manage.py sitetreedump --help
sitetreeload¶
This command loads sitetrees from a fixture in JSON format into database.
Warning
sitetreeload won’t even try to restore permissions for sitetree items, as those should probably be tuned in production rather than exported from dev.
If required you can use Django’s loaddata management command with sitetreedump created dump, or the dumpscript from django-extensions to restore the permissions.
Command makes use of --mode
command switch to control import strategy.
a) append (default) mode should be used when you need to extend sitetree data that is now in DB with that from a fixture.
Note: In this mode trees and tree items identifiers from a fixture will be changed to fit existing tree structure.
b) replace mode should be used when you need to remove all sitetree data existing in DB and replace it with that from a fixture.
Warning: Replacement is irreversible. You should probably dump sitetree data if you think that you might need it someday.
Using replace mode:
python manage.py sitetreeload --mode=replace treedump.json
Import all trees and items from treedump.json file example:
python manage.py sitetreeload treedump.json
Use --items_into_tree
command switch and alias of target tree to import all tree
items from a fixture there. This will not respect any trees information from fixture file -
only tree items will be considered. Keep in mind also that this switch will automatically
change sitetreeload commmand into append mode:
python manage.py sitetreeload --items_into_tree=my_tree items_only_dump.json
Use --help
command switch to get quick help on the command:
python manage.py sitetreeload --help