Banco de dados de migração do Django AWS Elastic Beanstalk
Estou implantando um projeto Django na AWS usando o Elastic Beanstalk e estou preso na migração do banco de dados.
Onde estou: Sou capaz de implantar com sucesso meu projeto django e carregar a página através do mysubdomain.elasticbeanstalk.com. A página carrega sem erros até chegar a uma página que precisa fazer uma chamada ao banco de dados. Eu recebo um erro comorelation "accounts_user" does not exist LINE 1: SELECT COUNT(*) FROM "accounts_user"
porque meu banco de dados não foi migrado.
O que eu tentei: Eu tentei algumas variações de coisas. Felizmente, há uma abundância de postagens de stackoverflow e alguns tutoriais. Infelizmente, todos parecem estar usando uma versão diferente e o que eles sugerem não se aplica ao meu projeto.
É bastante claro para mim que eu preciso executar a migração em umfoobar.config
arquivo dentro do.ebextensions/
pasta. Aqui está a base do que eu quero fazer:
container_commands:
01_migrate:
command: "python manage.py migrate --noinput"
leader_only: true
Nos logs, vejo que o script pós-implantação tentou executar, mas falhou. Não recebo nenhuma outra informação sobre o erro, a única coisa que vejo é algo como "ERRO: 01_migrar o script pós-implantação falhou"
Descobri que preciso ativar o ambiente virtual para o comando, o que faz sentido. De asdf eu tento isso:
container_commands:
01_migrate:
command: "source /opt/python/run/venv/bin/activate && python rlg/manage.py migrate --noinput"
leader_only: true
Mas isso não funciona. De fato, através do SSH, descobri que nem tenho uma pasta / opt / python /, apenas / opt / aws / e / opt / elasticbeanstalk /. Todos os tutoriais e perguntas SO referem-se a esta pasta, mas eu não a tenho?
VERSÕES: Python 3.4.1, Django 1.7.7, AWS CLI 3.2.1, Postgres 9.3