18
Django’s built in dump and restore commands work well for migrating the contents of the CMS.
To dump the contents of the CMS, you need to include both the cms app as well as each of the plugin types you are using in the dumpdata command, so something like:
manage.py dumpdata cms text picture link file [other plugin types] > cms_export.json
to dump your content (you just need the app name, not the full path, like cms.plugins.text
).
12
Here’s an update to the procedure I use:
./manage.py dumpdata >fixtures/all.json
psql
DROP DATABASE [DBNAME];
createdb -T template_postgis [DBNAME]
./manage.py syncdb
psql [DBNAME]
delete from auth_group_permissions; delete from auth_permission; delete from django_admin_log; delete from django_content_type;
If you don’t delete the tables above you’ll get this error when loading the fixtures:
IntegrityError: duplicate key value violates unique constraint django_content_type_app_label_key
And then:
./manage.py loaddata fixtures/all.json
Philipp
- [Django]-How do I install psycopg2 for Python 3.x?
- [Django]-UUID as default value in Django model
- [Django]-Django models: mutual references between two classes and impossibility to use forward declaration in python
4
For DjangoCMS 3.0, the syntax is the same but the names of the plugins have all changed. To get all standard plugins:
./manage.py dumpdata cms djangocms_column djangocms_file djangocms_flash djangocms_googlemap djangocms_inherit djangocms_link djangocms_picture djangocms_style djangocms_teaser djangocms_text_ckeditor djangocms_video > cms_export.json
- [Django]-Choose test database?
- [Django]-Django-nonrel + Django-registration problem: unexpected keyword argument 'uidb36' when resetting password
- [Django]-Django filter JSONField list of dicts
2
Your dumpdata
command only dumps the data for the cms
app, but each plugin (cms.plugins.text
, cms.plugins.picture
, etc.) is its own app, and so needs to be added to the command line.
- [Django]-Choose test database?
- [Django]-Django + Ajax
- [Django]-Form with CheckboxSelectMultiple doesn't validate