carnaval
Май 6, 2016 11:36:18
Здравствуйте, уважаемые гуру.
Появилось желание перевести сайт, работающий на Django 1.4 LTS, на Django 1.8 LTS. Сайт простой, в models.py только одна модель, все поля стандартные из Django 1.4, South в проекте нет, база данных в MySQL. Как грамотно переехать на Django 1.8 LTS ? Если правильно понимаю, нужно сначала развернуть проект-дубликат на Django 1.8, в файлах сделать исправления с учетом изменений названий классов и модулей. А как быть с БД и что делать с ней? Записи из старой базы, касающиеся модели из в models.py, мне необходимо перенести в новый проект. Наверняка внутренний формат таблиц имеет определенную несовместимость, как провести экспорт-импорт базы из старого проекта в новый?
slav0nic
Май 6, 2016 11:49:15
по миграциям особо проблем не должно быть
https://github.com/django/django/tree/master/django/contrib/auth/migrations например, по идее если зафейкать init миграции, то всё должно пройти гладко
inoks
Май 8, 2016 14:50:50
1) Напишите тесты
2) Сделайте копию
3) Обновите джанго до 1.8 в копии
4) Прогоните тесты
5) Исправьте ошибки если есть
6) Обновляйте код текущей базы вместе с версией джанги
carnaval
Май 8, 2016 20:31:20
Получилось по совету
slav0nic. Обновился до 1.8, подправил файлы проекта, подключил базу, поскольку миграций в проекте не было, создал начальную, затем применил с fake-initial, исправило мелкие недочеты. Естественно перед всей процедурой создал копии файлов и базы.
inoks
1) Напишите тесты
…
4) Прогоните тесты
А что подразумевается под тестами?
romankrv
Май 26, 2016 12:55:30
carnaval
А как быть с БД и что делать с ней?
Если в базе одна модель, то можно через fixtures перегнать пользовательские данные.