Pular para o conteúdo
Voltar ao blog

3 min de leitura

A Migração por decisões do passado

Contexto

O Gitblog nasceu com uma ideia simples de desenvolver um blog pessoal com a possibilidade de tradução para linguagem formal para o LinkedIn, então era para ser algo simples com alguns posts que possivelmente não iria se tornar uma rotina e seria algo mais de momento, porém comecei a torná-lo mais para escrever além de um "diário" e se tornar um lugar para comentar sobre tendências, aprendizados, coisas que considero importantes aprender na área da computação, quase a mesma ideia do Fabio Akita, que para mim se tornou uma referência desde quando comecei a faculdade.

O problema

Com a evolução então da ideia do Gitblog, comecei a ter ideias do que seria melhor adicionar nele, como extensão para outras linguagens, personagens (isso é mais uma ideia de ter múltiplas personalidades falando no texto, como uma história), tags, um apk mobile ao invés de um painel administrativo, suporte a vídeos, melhor ajuste do texto para os leitores, temas, modificação do layout, então é muita coisa que pensei, literalmente são 16 novas ideias que ajudam o blog, o leitor e eu como editor dele.

OBS: Adoro contar histórias, na verdade adoro falar/conversar com pessoas, acho que assim é o melhor jeito de aprender uma coisa nova.

A solução (Migrar tudo de SQLite para Postgres)

Sendo assim, a ideia foi fazer uma migração de SQLite, que no começo do blog fazia sentido para ideia dele, para PostgreSQL. E simplesmente uma meia dor de cabeça e 3 horas de espera me aguardavam.

Experiência

Então comecei criando specs de como iria executar, fiz backups do banco de dados, verifiquei os testes do blog para ver se não está faltando cobrir algo muito relevante e assim começou a migração. Mas antes dela, precisei ajustar algumas coisas no sitemap, indexações e middleware do blog, porque, sim, o Gitblog não estava sendo indexado no Google e muita coisa na formatação do Markdown está faltando. E tudo isso estava me incomodando bastante, então corrigi o que estava me incomodando e algumas falhas de segurança.

Exemplos do que estava faltando, links de vídeos como esse: 'vídeo super legal de assistir' que provavelmente quando você estiver lendo isso daqui vai estar em azul o texto com o link dele... ainda não está para mim.

Sem acesso ao painel admin

É... eu fique sem acesso ao painel admin por erro de permissão de escrita e leitura em um arquivo .db, simplesmente o erro de um iniciante na área que está estudando sobre sistemas operacionais. Assim fiquei por exatos 8 dias. Então do dia 15/04 até dia 23/04 não consegui escrever nada aqui no blog, apenas fazer posts no LinkedIn.

Os users dentro dos meus containers são todos sem permissão de sudo, porque já peguei virus na minha VPS por uma besteira dessa.

Migração

Nisso, dia 22/04 a noite tive a oportunidade de parar e mexer com essa migração, para não sofrer esse erro de permissão de leitura e escrita, além de ir para um banco de dados mais robusto. E a migração foi simples, só alguns comandos depois das correções em código para subir o contêiner do postgres antes do Gitblog, e 30 mins para rodar um script de migração.

Esse 30 min foi total falta de atenção minha por não ler as logs que o container estava mostrando, e o build demorado da imagem do Gitblog.

Conclusão

Agora o Gitblog usa o Postgres como banco de dados, as queries de busca ficaram mais rápidas para retornar a informação ao usuário, não tenho mais o problema de permissão de leitura e escrita em um arquivo, não dependo mais de um arquivo que pode ser sobreescrito para banco de dados, as 16 ideias serão mais simples de implementar com essa migração, com provavelmente manhã dia 24/04 adicionando um sistema de tags e alterando o layout do Gitblog para algo que seja mais amigável, e menos GPT que fez.

Obrigado por ler essa edição!!

Comentários

Padrin

Isso ficou bom dms

Igor Maceno

Excelente!

Deixe um comentário