Django с AWS — правильный способ синхронизации базы данных и запуска миграции схемы с использованием South

В процессе разработки, когда я запускал django на локальном сервере, я сначала добавил South в свои установленные приложения, а затем

python manage.py syncdb

После этого всякий раз, когда я вносил изменения в базу данных, я делал

python manage.py scheemamigration
python manage.py migrate appName

Теперь я использую эластичный бобовый стебель AWS и делаю

git add .
git commit "change made"
git aws.push

для обновления сервера aws. Однако я не могу бежать

python manage.py syncdb

потому что он говорит

Unknown command 'syncdb'

поэтому я не могу синхронизировать базу данных и выполнять схемы миграции. Каков наилучший способ для меня синхронизировать базу данных и выполнить миграцию схем с помощью South теперь, когда я использую серверы AWS.


person SilentDev    schedule 05.08.2014    source источник
comment
Я предполагаю, что scheemamigration это опечатка, и вы это читали? docs.aws.amazon.com/elasticbeanstalk/latest/dg/   -  person Henrik Andersson    schedule 05.08.2014


Ответы (1)


Вам нужно сделать команду контейнера, вот фрагмент из документации aws...

На локальном компьютере обновите файл конфигурации (например, myapp.config) в каталоге > .ebextensions.

container_commands:
  01_syncdb:
    command: "django-admin.py syncdb --migrate --noinput"
    leader_only: true

См. http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html (шаг 6, пункт номер 2) Извините, в документах aws нет привязок..

РЕДАКТИРОВАТЬ: добавлен флаг миграции в syncdb и изменена ссылка на документ aws на более подходящую.

person farridav    schedule 05.08.2014
comment
Начиная с Django 1.7 вы можете заменить django-admin.py syncdb --migrate --noinput на django-admin.py migrate --noinput, так как syncdb устарела. - person devonbleibtrey; 31.10.2014