Как вы сохраняете пользовательские данные при обновлении сайта Django? - PullRequest
0 голосов
/ 22 ноября 2010

У меня есть живой сайт Django, на котором уже есть зарегистрированные пользователи. Я пытаюсь обновить сайт новой версией, которая отличается от исходного сайта - похожая идея, но разные модели.

Как сохранить текущих пользователей на новом сайте?

Я слышал, что Юг может быть хорошим решением, но на старом сайте оно не установлено. Можно ли использовать Юг в этом случае?

Спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010
0 голосов
/ 22 ноября 2010

+ 1 на юг, но ...

Нам нужно больше информации! Вы вносите радикальные изменения в свои модели или просто добавляете или удаляете поля здесь или там?

Юг может справиться с довольно радикальными миграциями, но вам придется написать собственный код миграции. Лично я использую Юг, если добавляю новое поле, но не для такого рода более радикальных вещей.

Если это большое изменение Схемы, полностью реорганизовавшее ваш сайт, то я бы просто написал ваш собственный скрипт для чтения старых объектов и создания новых. Сделайте копию своей производственной базы данных (через pg_dump, mysqldump и т. Д.) И загрузите ее на свой локальный компьютер, где вы сможете протестировать и отладить пользовательский скрипт преобразования. Убедитесь, что ваши «старые модели» и «новые модели» имеют разные имена, и сохраните все в файле settings.py, чтобы вы всегда могли читать и писать все.

Напишите и протестируйте скрипт миграции, и после этого вы сможете создать еще один список изменений, чтобы удалить все старые объекты, а затем, если хотите, удалить соответствующий им исходный код.

...