Saltar para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.replit.com/llms.txt

Use this file to discover all available pages before exploring further.

Alguns aplicativos publicados mais antigos ainda podem estar conectados a um banco de dados de desenvolvimento que foi criado originalmente para um aplicativo diferente. Isso pode acontecer com aplicativos mais antigos que foram bifurcados ou remixados no Replit. No sistema Neon legado, um fork podia continuar usando a conexão de banco de dados do aplicativo original. Como parte do movimento do Replit para isolar completamente os bancos de dados de desenvolvimento e produção, os bancos de dados de desenvolvimento compartilhados mais antigos estão sendo removidos e os aplicativos publicados precisam migrar para seus próprios bancos de dados de produção. Use este guia se seu aplicativo publicado estiver mostrando erros de conexão de banco de dados, ou se DATABASE_URL no painel de Secrets ainda apontar para neon.tech.
O banco de dados compartilhado mais antigo será encerrado em 15 de maio de 2026. Atualize seu aplicativo publicado antes disso para evitar tempo de inatividade ou perda permanente de dados.

Antes de começar

Seu aplicativo publicado precisa do seu próprio banco de dados de produção. O banco de dados de desenvolvimento mostrado no painel Database não deve ser usado diretamente por aplicativos publicados.
Database panel showing Development database
Para corrigir isso, primeiro descubra em qual situação você se encontra:
  • Caso 1: Os dados que você quer já estão presentes no banco de dados mostrado no painel Database do seu aplicativo.
  • Caso 2: O painel Database não mostra os dados que você precisa, porque seu aplicativo publicado ainda está usando o banco de dados de desenvolvimento compartilhado mais antigo.

Como saber se seu aplicativo publicado está usando um banco de dados compartilhado?

Seu aplicativo publicado é afetado se qualquer um dos seguintes for verdadeiro:
  • Seu aplicativo publicado mostra erros de conexão de banco de dados após a atualização do banco de dados
  • Seu aplicativo foi remixado de outro aplicativo que tinha um banco de dados antes de 9 de janeiro de 2026

Como verificar se seu aplicativo publicado está usando o banco de dados compartilhado do aplicativo de origem?

Etapa 1: Abra o painel Database no aplicativo de origem

Secret panel showing DATABASE_URL
Obtenha o valor de NEON_DATABASE_URL ou de DATABASE_URL se NEON_DATABASE_URL não existir.
Nem todo aplicativo afetado terá NEON_DATABASE_URL. Se estiver faltando, isso geralmente significa que você deve usar o DATABASE_URL atual nos Secrets do aplicativo publicado se ainda apontar para neon.tech.

Etapa 2: Abra o painel Publish no aplicativo publicado

Published app secrets showing DATABASE_URL
Para verificar a URL do banco de dados do seu aplicativo publicado:
  1. Abra seu aplicativo no Replit
  2. Abra o painel Publishing
  3. Abra Adjust Settings
  4. Abra Secrets
  5. Procure por DATABASE_URL

Etapa 3: Compare a URL do banco de dados do aplicativo de origem na Etapa 1 e do aplicativo remix na Etapa 2

Se forem iguais, seu aplicativo publicado está usando um banco de dados de desenvolvimento Neon compartilhado do aplicativo de origem.

Como copiar dados do aplicativo de origem para o aplicativo publicado?

Após confirmar que seu aplicativo publicado está usando o banco de dados de desenvolvimento compartilhado do aplicativo de origem, a próxima etapa é transferir os dados necessários para o aplicativo publicado. Há dois cenários a considerar:
  • Caso 1: O painel Database no aplicativo publicado já contém os dados necessários.
  • Caso 2: O painel Database no aplicativo publicado não contém os dados necessários.

Caso 1: O painel Database já mostra os dados que você precisa

Este é o caminho mais fácil se os dados que você precisa já estiverem visíveis no painel Database do seu aplicativo.

Etapa 1: Confirme que os dados estão presentes

Database l showing my data rows
Abra o painel Database no aplicativo publicado e certifique-se de que as tabelas e dados que você precisa estão lá. Se você não vir os dados que precisa no painel Database, pause aqui. Você vai querer seguir as etapas no Caso 2 para migrar seus dados corretamente.

Etapa 2: Publique ou republique com um banco de dados de produção

  1. Abra seu aplicativo no Project Editor
  2. Selecione Publish ou Republish
  3. Ative Create production database
  4. Ative Set up your production database with your current development data
  5. Complete o fluxo de publicação
A publicação cria uma nova versão do seu aplicativo publicado e define automaticamente seu DATABASE_URL para o novo banco de dados de produção. Você não precisa atualizar esse secret manualmente durante este fluxo.
Publish settings showing Create production database options
Copiar para produção sobrescreve quaisquer dados de produção existentes. Veja Bancos de Dados de Produção para mais detalhes sobre como restaurar ou gerenciar seu banco de dados de produção.

Etapa 3: Verifique o aplicativo publicado

Abra seu aplicativo publicado e confirme que seus dados estão acessíveis e que o aplicativo funciona corretamente.

Caso 2: O painel Database no aplicativo publicado não mostra os dados que você precisa

Siga estas etapas para exportar os dados se você não vir os dados necessários no painel Database do seu aplicativo publicado. Se seu aplicativo publicado ainda estiver conectado a um banco de dados de outro aplicativo, você verá um aviso de “external database detected” no painel Database.
Database panel showing external database detected
Se as pessoas ainda estiverem usando seu aplicativo e salvando novos dados, planeje uma curta janela de manutenção antes de exportar os dados.

Etapa 1: Exporte os dados do banco de dados antigo

pg_dump example
Abra o Shell no Project Editor e execute:
pg_dump -Fc "database_url" --no-owner --no-privileges -f backup.dump
database_url é a URL do banco de dados obtida na Etapa 1: Abra o painel Database no aplicativo de origem.

Etapa 2: Remova o DATABASE_URL antigo dos Secrets do seu aplicativo

secret pane example
  1. Abra a ferramenta Secrets no Project Editor
  2. Encontre o DATABASE_URL antigo
  3. Exclua-o
  4. Atualize a página ou reabra o painel Database
Após isso, seu aplicativo deve parar de apontar para o banco de dados compartilhado antigo e usar seu banco de dados de desenvolvimento atual novamente.

Etapa 3: Importe os dados para o banco de dados de desenvolvimento atual do seu aplicativo

pg_restore example
Assim que o secret DATABASE_URL antigo for removido, o banco de dados de desenvolvimento atual do seu aplicativo deve estar disponível novamente como $DATABASE_URL no Project Editor. Retorne ao Shell no Project Editor e execute:
pg_restore --clean --if-exists --single-transaction --no-owner --no-privileges --exit-on-error -d "$DATABASE_URL" backup.dump
Isso carrega os dados exportados para o banco de dados de desenvolvimento atual do seu aplicativo.

Etapa 5: Siga o Caso 1 para publicar ou republicar com um banco de dados de produção

Assim que o painel Database mostrar os dados corretos, siga o Caso 1 para publicar ou republicar com Create production database e copiar esses dados para produção.

Etapa 6: Verifique o aplicativo publicado

successful export
Abra seu aplicativo publicado e confirme que seus dados estão acessíveis e que o aplicativo funciona corretamente.

Solução de problemas

A importação falha porque as tabelas já existem

O comando pg_restore --clean --if-exists acima descarta e recria os objetos correspondentes do dump antes de restaurá-los.

A importação falha com erros de função ou política

Se o seu banco de dados usa funções PostgreSQL personalizadas ou políticas baseadas em funções, a importação pode falhar porque essas funções ainda não existem no novo banco de dados. A migração automática Helium do Replit tenta recriar stubs de funções antes de restaurar, mas o processo manual acima não faz isso. Se você encontrar erros relacionados a funções durante o pg_restore, entre em contato com o suporte para obter ajuda.

Já corrigi o aplicativo

Se seu aplicativo publicado já tem seu próprio banco de dados de produção e está funcionando corretamente, você não precisa fazer mais nada.

Precisa de mais ajuda?

Se você não tiver certeza de qual caso se aplica ao seu aplicativo, ou se encontrar problemas durante a migração, entre em contato com o suporte.

Documentos relacionados