DEV Community

Jony Hayama
Jony Hayama

Posted on

Mini-hack para acessar seu Banco de Dados (Postgres) do Heroku com Rails localmente

Existem coisas que, de tão simples, são geniais. Essa ideia chegou até mim através do comentário de colega, um herói que não usa capa. Não é nada revolucionário, mas é algo que me deixou com a sensação de "por que eu nunca fiz isso antes?".

⚠️ ATENÇÃO: Isso que vou compartilhar é um hackzinho, um "recurso técnico", no português claro: uma gambiarra. E - como toda gambiarra - precisa ter cuidado na hora de usar.

Disclaimer feito, bora lá.

Em anos de desenvolvimento, eu sempre me condicionei a pensar "vou copiar o banco de staging para ter uma massa de dados". Muitos desenvolvedores utilizam Seeds para esse propósito e fazem um ótimo trabalho com isso.

Sempre que surge um bug, meu mindset é: vamos descobrir como replicar isso em staging, para poder copiar o banco e investigar localmente.

Nenhum problema até que você tenha um banco enorme. Daqueles que você precisa ir fazer outra coisa enquanto está baixando e restaurando. É um tempo em que você pode dar uma olhada no backlog, ou talvez dar uma olhada nos PRs dos colegas, ou simplesmente ir tomar café... Mas convenhamos, seria mais produtivo já poder codar.

Bom, eis que eu estava copiando um banco monstruoso e comentei com o meu colega...

Eu: putz, tô baixando o banco, parece que vai demorar... 😩
Colega: porque você não conecta direto em staging?
Eu: como assim? 🤔
Colega: se o banco é enorme e você não vai editar nada, conecta direto em staging
Eu: como faço isso?
Colega:

DATABASE_URL=`heroku config:get DATABASE_URL -a your-app` rails s

Eu:
chocado

Simples assim, posso adicionar um byebug onde eu quiser para investigar o problema 🥳!

Se você também usa o Heroku, tenho certeza que já tropeçou no comando heroku config em algum momento para trabalhar com variáveis de ambiente. Eu mesmo já mencionei ele no primeiro artigo que escrevi no dev.to.

Eu já até cheguei a usar, para copiar uma ENV que estava em staging para o meu .env.local. Já até vi ele jogado em um makefile em um script que já não lembro mais o que fazia...

Mas confesso que essa ideia nunca tinha me passado pela cabeça 🤦‍♂️

O mais interessante é que não precisamos nos limitar ao rails s...

DATABASE_URL=`heroku config:get DATABASE_URL -a your-app` rails c
Enter fullscreen mode Exit fullscreen mode

E nem sequer ao Rails:

psql -d `heroku config:get DATABASE_URL -a your-app`
Enter fullscreen mode Exit fullscreen mode

Agora, se você, assim como eu, é bastante preguiçoso, pode criar aliases e funções no seu ~/.zshrc:

alias stgdburl="heroku config:get DATABASE_URL -a your-app"

function stgdb() {
  export DATABASE_URL=`stgdburl`
  "$@"
}
Enter fullscreen mode Exit fullscreen mode

🧙 Magicamente os comandos passam a ser:

stgdb rails s
stgdb rails c
psql -d stgdburl
Enter fullscreen mode Exit fullscreen mode

⚠️ ATENÇÃO: Antes de sair correndo e fuçando tudo isso, convém dar uma olhadinha no seu config/database.yml e dar uma lida na documentação do rails.
É importante saber como está a sua configuração para saber como a aplicação irá se comportar com a presença do DATABASE_URL.

Com grandes poderes vêm grandes responsabilidades

Como você já deve ter percebido, da para conectar em qualquer banco, inclusive prod.

Então, cuidado 😜

Top comments (4)

Collapse
 
giova111 profile image
Giovanni

Esse grupo de CYBER GURUS ajudou minha família a conseguir um empréstimo e também me ajudou a conseguir um título universitário em uma das melhores universidades do mundo, estou agradecendo muito a eles, entre em contato com eles agora AT =
NOBLEWEBHACKERS@GMAIL.COM
-Recuperação de fundos de NEGOCIAÇÃO FOREX/BINÁRIA falsa

-Recuperação de fundos fraudulentos

-Serviço de transferência bancária

-CASH-APP Carregando

-RECARREGAMENTO DE BITCOIN

  • EMPRÉSTIMO GRATUITO SEM Adiantamento

  • Ajude a se cadastrar na ILUMINATI e ficar mais rico

  • Dinheiro, recuperação de qualquer país do mundo

  • Mudança de diplomas universitários

  • Espionagem de todas as contas de mídia social dentro

  • Vendas de caixas eletrônicos e cartões de crédito em branco

  • Vendas de títulos universitários originais.

  • Fazemos o credenciamento da conta sem deixar rastros

  • Liquidação de dívidas bancárias,..,,..

  • Oferta de título universitário e tantos outros...

Apesar de todas as probabilidades, esse conjunto de gurus da Internet provou ser digno de ser chamado de terrorista cibernético profissional... mais uma vez bati no peito para confessar que esse grupo de gurus cibernéticos é confiável e satisfatório..................

Collapse
 
giova111 profile image
Giovanni

Esse grupo de CYBER GURUS ajudou minha família a conseguir um empréstimo e também me ajudou a conseguir um título universitário em uma das melhores universidades do mundo, estou agradecendo muito a eles, entre em contato com eles agora AT =
NOBLEWEBHACKERS@GMAIL.COM
-Recuperação de fundos de NEGOCIAÇÃO FOREX/BINÁRIA falsa

-Recuperação de fundos fraudulentos

-Serviço de transferência bancária

-CASH-APP Carregando

-RECARREGAMENTO DE BITCOIN

  • EMPRÉSTIMO GRATUITO SEM Adiantamento

  • Ajude a se cadastrar na ILUMINATI e ficar mais rico

  • Dinheiro, recuperação de qualquer país do mundo

  • Mudança de diplomas universitários

  • Espionagem de todas as contas de mídia social dentro

  • Vendas de caixas eletrônicos e cartões de crédito em branco

  • Vendas de títulos universitários originais.

  • Fazemos o credenciamento da conta sem deixar rastros

  • Liquidação de dívidas bancárias,..,,..

  • Oferta de título universitário e tantos outros...

Apesar de todas as probabilidades, esse conjunto de gurus da Internet provou ser digno de ser chamado de terrorista cibernético profissional... mais uma vez bati no peito para confessar que esse grupo de gurus cibernéticos é confiável e satisfatório..........

Collapse
 
giova111 profile image
Giovanni

Esse grupo de CYBER GURUS ajudou minha família a conseguir um empréstimo e também me ajudou a conseguir um título universitário em uma das melhores universidades do mundo, estou agradecendo muito a eles, entre em contato com eles agora AT =
NOBLEWEBHACKERS@GMAIL.COM
-Recuperação de fundos de NEGOCIAÇÃO FOREX/BINÁRIA falsa

-Recuperação de fundos fraudulentos

-Serviço de transferência bancária

-CASH-APP Carregando

-RECARREGAMENTO DE BITCOIN

  • EMPRÉSTIMO GRATUITO SEM Adiantamento

  • Ajude a se cadastrar na ILUMINATI e ficar mais rico

  • Dinheiro, recuperação de qualquer país do mundo

  • Mudança de diplomas universitários

  • Espionagem de todas as contas de mídia social dentro

  • Vendas de caixas eletrônicos e cartões de crédito em branco

  • Vendas de títulos universitários originais.

  • Fazemos o credenciamento da conta sem deixar rastros

  • Liquidação de dívidas bancárias,..,,..

  • Oferta de título universitário e tantos outros...

Apesar de todas as probabilidades, esse conjunto de gurus da Internet provou ser digno de ser chamado de terrorista cibernético profissional... mais uma vez bati no peito para confessar que esse grupo de gurus cibernéticos é confiável e satisfatório........................

Collapse
 
giova111 profile image
Giovanni

Esse grupo de CYBER GURUS ajudou minha família a conseguir um empréstimo e também me ajudou a conseguir um título universitário em uma das melhores universidades do mundo, estou agradecendo muito a eles, entre em contato com eles agora AT =
NOBLEWEBHACKERS@GMAIL.COM
-Recuperação de fundos de NEGOCIAÇÃO FOREX/BINÁRIA falsa

-Recuperação de fundos fraudulentos

-Serviço de transferência bancária

-CASH-APP Carregando

-RECARREGAMENTO DE BITCOIN

  • EMPRÉSTIMO GRATUITO SEM Adiantamento

  • Ajude a se cadastrar na ILUMINATI e ficar mais rico

  • Dinheiro, recuperação de qualquer país do mundo

  • Mudança de diplomas universitários

  • Espionagem de todas as contas de mídia social dentro

  • Vendas de caixas eletrônicos e cartões de crédito em branco

  • Vendas de títulos universitários originais.

  • Fazemos o credenciamento da conta sem deixar rastros

  • Liquidação de dívidas bancárias,..,,..

  • Oferta de título universitário e tantos outros...

Apesar de todas as probabilidades, esse conjunto de gurus da Internet provou ser digno de ser chamado de terrorista cibernético profissional... mais uma vez bati no peito para confessar que esse grupo de gurus cibernéticos é confiável e satisfatório....................................