Добавление проекта South to Django, разработка и производство
Добавление юга к существующему проекту Django. Я установил его как на машину разработки, так и на "производственный" сервер.
Я сделал следующее на машине разработки, затем добавил южное приложение к settings.py,
python manage.py syncdb
python manage.py convert_to_south myproject.myapp
затем изменили некоторые модели, затем
python manage.py schemamigration myproject.myapp --auto
python manage.py migrate myproject.myapp
Кажется, работает до сих пор. То, что я сейчас не так уверен, - это то, что нужно делать на производственном сервере. Просто повторите все эти шаги вручную? Загрузите измененные settings.py, выполните syncdb, convert_to_south, загрузите измененные models.py, выполните схему, перенесите? Что-то другое? В учебнике здесь говорится о добавлении миграции в элемент управления версиями, поэтому, предположительно, они должны быть загружены и каким-то образом применены на производственном сервере?
Кроме того, прямо сейчас я использую sqlite3 на машине разработки и mysql на сервере - делает ли это что-то другое по-южнее?
Ответы
Ответ 1
В моем путеводителе говорится:
- Установите Юг на сервер.
import south
из оболочки, чтобы убедиться, что вы используете один и тот же python env.
- Добавьте
'south'
в INSTALLED_APPS
в settings.py
.
- Загрузить
settings.py
.
- Перезапустить сервер
-
python manage.py syncdb
.
- Загрузите новый
app/models.py
и app/migrations/
dir.
- Перезапустить сервер.
-
python manage.py migrate app --fake 0001
-
python manage.py migrate app
Ответ 2
Чтобы убедиться, что таблица миграции юга существует,
python manage.py syncdb
а затем
python manage.py migrate myproject.myapp --fake 0001
python manage.py migrate myproject.myapp
Что сработало для меня.:)
Ответ 3
Не нужно делать это в Django >= 1.7
я застрял на этом более 1 часа:)
и, наконец, найти 1,7 и более при модернизации сборки-с-юга
для получения дополнительной информации https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south
может быть, это поможет вам