Приводил сегодня в порядок базу данных одного проекта на django-cms и в ходе этого процесса решил перенести накопившиеся данные в новую БД, инициализированную с нуля и с успешно прогнанными миграциями. И, т.к в документации об этом не было ни слова, пришлось искать решение, и наткнуться на пару ошибок, после которых удалось создать готовый рецепт:
- Первым делом переносим данные из таблицы auth_user, например, средствами БД;
- Далее делаем два файла с данными. Так нужно, чтобы избежать проблемы с ключами в таблице cms_placeholder (IntegrityError: duplicate key value violates unique constraint «cms_placeholder_pkey»), которые например описаны в рассылке django-cms:
./manage.py dumpdata --indent=2 cms.placeholder > initial_data.cms.01.json./manage.py dumpdata --indent=2 cms.cmsplugin cms.page cms.pagemoderatorstate cms.pageuser \
cms.title picture snippet text (сюда-же впишем и остальные плагины) > initial_data.cms.02.json
- И теперь загружаем полученные данные в новую БД:
./manage.py loaddata initial_data.cms.01.json
./manage.py loaddata initial_data.cms.02.json
последние отклики