Open leonardofl opened 6 years ago
Opa, não tinha visto essa issue e acabei comentando no próprio commit. Reproduzo abaixo:
@leonardofl não sei se concordo com essa alteração. Acho que idealmente deveríamos utilizar as prórprias features do Django para fazer dump da base de dados (ver (manage.py dumpdata)[https://docs.djangoproject.com/en/2.0/ref/django-admin/#dumpdata]).
Dessa forma não temos a necessidade de instalar todo o postgresql na imagem do Radar, (sendo que já usamos o postgresql completo numa imagem à parte).
Opa, não sabia desse "manage.py dumpdata". Concordo que fica bem melhor, principalmente em vista das dificuldades enfrentadas... Em vez de publicar a imagem docker vou desfazer oq tinha feito e depois como usar esse dumpdata.
@leonardofl tenta colocar o postgres de novo no Dockerfile, e no docker-compose troca a imagem do container do postgres pra 9.5.12-alpine, acho que isso pode resolver o problema de versões diferentes
Legal, boa ideia. Vou tentar. Valeu.
@diraol: considerando a estratégia de gerar um sql vc enxerga algum outro caminho p não ter q instalar o postgres na VM do Django?
Por ora, eu estou mais propenso a seguir por esse caminho (claro, se alguém achar um jeito melhor... Melhor :)
Alterei a imagem do postgres para 9.5.12 e funcionou!!! Valeu @lopes05 !!!
Sempre um pouco triste fazer downgrade, mas acho que nesse caso é o preço a se pagar.
Obs: eu fiz o teste logando no container (sh) e executando o comando pg_dump
. Agora tem que testar direitinho a classe DbDumper
.
[]s
Droga, esqueci de referenciar a issue. Commit que altera versão do postgres: 0adf8d1f75841713264d90aee8b885e02eb4037d
@leonardofl não entendi exatamente qual foi o problema que demandou fazer o downgrade, mas acho que valem alguns mapeamentos:
O container que estava sendo utilizado para o radar é o python:3.6-alpine
.
Este, por sua vez, é baseado no alpine3.7
.
Olhando no repositório de pacotes do Alpine, vemos que a versão do postgresql disponível para alpine 3.7
é o 10.4-r0
(server e client).
Assim, acho que se o problema era uma incompatibilidade entre as versões do postgresql-client e "container", poderíamos tentar colocar todos na versã0 10.4
e ver se funciona, o que me parece melhor do que tentar voltar à 9.X
. =)
O motivo foi
Mas mesmo assim, na hora de executar o
pg_dump
no container, obtive o seguinte erro:pg_dump: aborting because of server version mismatch
Mas parece q vale sim a tentativa q vc falou!
Valeus
Acho que funcionou @diraol ! Valeu!
Único detalhe que achei mais digno de nota é que usando FROM python:3.7-alpine
não funcionava: manifest for python:3.7-alpine not found
. Por isso usei FROM python:3.7-rc-alpine
.
@leonardofl perceba que o meu comentário foi:
a imagem python:3.6-alpine
usa, como base, a imagem alpine:3.7
.
E não que precisamos usar python:3.7
(foi só uma infeliz coincidência numérica das coisas!)
python:3.7-alpine
ou python:3.7-rc-apline
são referentes à versão 3.7
do python, que ainda não foi lançada de forma "stable" e definitiva.
Eh, parece q me confundi c isso :/
Pra poder fazer o dump a gente executa o comando
pg_dump
. Pra poder ter esse comando no container eu tive que instalar na imagem base o pacotepostgresql
, que instala o postgresql completo =( O esperado seria que opg_dump
estivesse nopostgresql-client
, mas não estava.Mas mesmo assim, na hora de executar o
pg_dump
no container, obtive o seguinte erro:=(