Требуемое приложение: Юг
Вот шаги (см. Документацию):
./manage.py convert_to_south yourapp
это создаст папку миграции и подделаетпервая миграция
Затем добавьте new_dateOfJoin
DateField в вашем models.py:
./manage.py migrate yourapp
, это немедленно создаст и применит миграцию (с именем 0002 _...), чтобы добавить это поле вthe db
Создайте файл datamigration 0003 , где вы просто приведете свое текстовое значение к дате и сохраните его в новом поле. Затем примените эту миграцию:
./manage.py migrate yourapp
Измените файл models.py, чтобы закомментировать старое поле даты и выполнить миграцию снова (это создаст файл миграции 0004 _....)
Последний шаг - переименовать поле db, чтобы вам не приходилосьизмените существующий код:
./manage.py schemamigration yourapp rename_dateofjoin --empty
Это создаст пустой файл миграции схемы с именем 0005_rename_dateofjoin
Вручную измените этот файл 0005, как описано здесь , но используйте db.rename_column('app_foo', 'name', 'full_name')
, какв этот другой пример .
Отбрасываниевся ваша таблица вместо этих 5 шагов может быть проще, но если у вас есть несколько экземпляров приложения (например, работающий производственный сервер и машина разработки), вам нужны такие инструменты.
С лучшим пониманием юга можно было бытакже сделать это менее чем за 5 шагов, но поскольку миграция может быть сложно отменить или воспроизвести иногда, я предпочитаю иметь отдельные шаги ...