Django South: как использовать с несколькими установками кодовой базы и одной центральной базы данных?

Я конвертирую существующую кодовую базу (с несколькими приложениями) для использования South. Моя кодовая база в настоящее время установлена ​​на 1 сервере разработки и 3 рабочих серверах. У разработки есть собственная база данных, и все 3 производственных сервера подключены к одной центральной базе данных.

Я прочитал информацию на http://south.aeracode.org/docs/convertinganapp.html но я все еще немного не понимаю, как действовать дальше.

Вот шаги, которые я планирую выполнить:
Dev Server: ./manage.py syncdb (Для создания южных таблиц в dev db)
Dev Server: ./manage.py convert_to_south myapp (для создания южных файлов и записей в dev db)
Dev Server: push to VCS

Server 1: pull from VCS (Для получения файлов South)
Server 1: ./manage.py syncdb (Для создания таблиц South в производственной базе данных)
Server 1: ./manage.py migrate myapp 0001 --fake (Для создания записей South в производственной базе данных)

Server 2: pull from VCS (To get South files)
Server 2: ./manage.py migrate myapp 0001 --fake

Server 3: pull from VCS (To get South files)
Server 3: ./manage.py migrate myapp 0001 --fake

Повторите эти шаги для всех приложений.

Вопрос 1:
Требуется ли шаг ./manage.py migrate myapp 0001 --fake на серверах 2 и 3? Поскольку я буду выполнять миграции на сервере 1, и все три сервера используют одну и ту же базу данных, кажется, что это не обязательно, но я не уверен на 100%.

Вопрос 2:
Если ./manage.py migrate myapp 0001 --fake требуется на серверах 2 и 3, нужно ли будет запускать команду на серверах 2 и 3 каждый раз, когда я буду выполнять миграцию базы данных?

Как всегда, большое спасибо за вашу помощь.


person rfadams    schedule 04.03.2011    source источник


Ответы (1)


Нет, вы используете его только для внесения изменений в схему базы данных. Вам не нужно снова запускать миграцию на серверах 2 и 3, поскольку они используют ту же базу данных, что и сервер 1.

person gladysbixly    schedule 04.03.2011
comment
Спасибо за помощь. Действительно ценю это. Я подозревал, что команда --fake не требуется на серверах 2 и 3, но я не был уверен, так как инструкции в документации South как бы подразумевали, что они требуются. - person rfadams; 04.03.2011