Comments (12)
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.
from radar.
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 pacote postgresql
, que instala o postgresql completo =( O esperado seria que o pg_dump
estivesse no postgresql-client
, mas não estava.
Mas mesmo assim, na hora de executar o pg_dump
no container, obtive o seguinte erro:
pg_dump: aborting because of server version mismatch
=(
from radar.
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).
from radar.
@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
from radar.
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 :)
from radar.
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
from radar.
Droga, esqueci de referenciar a issue. Commit que altera versão do postgres: 0adf8d1
from radar.
@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
. =)
from radar.
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
from radar.
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
.
from radar.
@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.
from radar.
Eh, parece q me confundi c isso :/
from radar.
Related Issues (20)
- Migrar cache para utilizar Memcache ao invés de arquivos em disco. HOT 2
- Gerar nova imagem docker no Travis
- Automatizar build do Dockerfilebase HOT 2
- Melhorar a qualidade da busca por palavras-chaves HOT 7
- Atualizar lista de partidos HOT 11
- Radar na academia HOT 4
- Exibir a porcentagem da variância explicada pelas duas dimensões do mapa de votações HOT 13
- Utilizar o cleanup do entrypoint na saída do container.
- Incorporar rotinas periódicas no Docker para produção. HOT 12
- Fazer novo diagrama de implantação considerando Docker HOT 2
- ANO_MIN em cmsp.py HOT 2
- Colocar "chamada" para o artigo da Leviathan na home page HOT 3
- Rotina periódica para atualizar o cash HOT 1
- Existe alguma API que retornar as ações parlamentares de um determinado candidato? HOT 3
- Listar votações, mesmo sem filtro HOT 2
- Exportar gráfico
- Importador não funcionando? HOT 6
- Buscas por palavras-chave não funcionando. HOT 3
- Importador do senado está quebrado HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from radar.