Django South: Как использовать с несколькими установками кодовой базы и одной центральной базой данных? - PullRequest
3 голосов
/ 04 марта 2011

Я конвертирую существующую кодовую базу (с несколькими приложениями) в South.Моя кодовая база в настоящее время установлена ​​на 1 сервере разработки и 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 (для получения южных файлов)
Server 1: ./manage.py syncdb (для создания южных таблиц в производственной базе данных)
Server 1: ./manage.py migrate myapp 0001 --fake (для создания южных записей в производственной базе данных)

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

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

1 Ответ

2 голосов
/ 04 марта 2011

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

...