DATABASE_URL no painel Secrets ainda apontar para neon.tech.
Antes de começar
Seu app publicado precisa do seu próprio banco de dados de produção. O banco de dados de desenvolvimento exibido no painel Database não deve ser usado diretamente por apps publicados.
- Caso 1: os dados que você deseja já estão presentes no banco de dados exibido no painel Database do seu app.
- Caso 2: o painel Database não mostra os dados que você precisa, porque seu app publicado ainda está usando o banco de dados de desenvolvimento compartilhado mais antigo.
Como saber se o seu app publicado está usando um banco de dados compartilhado?
Seu app publicado é afetado se qualquer uma das seguintes situações for verdadeira:- Seu app publicado mostra erros de conexão com o banco de dados após a atualização do banco de dados
- Seu app foi remixado a partir de outro app que tinha um banco de dados antes de 9 de janeiro de 2026
Como verificar se o seu app publicado está usando o banco de dados compartilhado do app de origem?
Passo 1: Abra o painel Database no app de origem

NEON_DATABASE_URL ou de DATABASE_URL se NEON_DATABASE_URL não existir.
Nem todo app afetado terá
NEON_DATABASE_URL. Se estiver ausente, isso
geralmente significa que você deve usar o DATABASE_URL atual dos Secrets do app
publicado, se ele ainda apontar para neon.tech.Passo 2: Abra o painel Publish no app publicado

- Abra seu app no Replit
- Abra o painel Publishing
- Abra Adjust Settings
- Abra Secrets
- Procure por
DATABASE_URL
Passo 3: Compare a URL do banco de dados do app de origem no Passo 1 com a do app remixado no Passo 2
Se forem iguais, seu app publicado está usando um banco de dados de desenvolvimento Neon compartilhado do app de origem.Como copiar dados do app de origem para o app publicado?
Depois de confirmar que o seu app publicado está usando o banco de dados de desenvolvimento compartilhado do app de origem, o próximo passo é transferir os dados necessários para o app publicado. Há dois cenários a considerar:- Caso 1: o painel Database no app publicado já contém os dados necessários.
- Caso 2: o painel Database no app 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 de que você precisa já estiverem visíveis no painel Database do seu app.Passo 1: Confirme que os dados estão presentes

Passo 2: Publique ou republique com um banco de dados de produção
- Abra seu app no Project Editor
- Selecione Publish ou Republish
- Ative Create production database
- Ative Set up your production database with your current development data
- Complete o fluxo de publicação
DATABASE_URL dela para o novo banco de dados de produção. Você não precisa atualizar esse secret manualmente durante esse fluxo.

Passo 3: Verifique o app publicado
Abra seu app publicado e confirme que seus dados estão acessíveis e que o app funciona corretamente.Caso 2: o painel Database no app 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 app publicado. Se o seu app publicado ainda estiver conectado a um banco de dados de outro app, você verá um aviso de “external database detected” no painel Database.
Passo 1: Exporte os dados do banco de dados antigo

database_url é a URL do banco de dados obtida em Passo 1: Abra o painel Database no app de origem.
Passo 2: Remova o DATABASE_URL antigo dos Secrets do seu app

- Abra a ferramenta Secrets no Project Editor
- Encontre o
DATABASE_URLantigo - Exclua-o
- Atualize a página ou reabra o painel Database
Passo 3: Importe os dados para o banco de dados de desenvolvimento atual do seu app

DATABASE_URL antigo for removido, o banco de dados de desenvolvimento atual do seu app deve estar disponível novamente como $DATABASE_URL no Project Editor.
Volte ao Shell no Project Editor e execute:
Passo 5: Siga o Caso 1 para publicar ou republicar com um banco de dados de produção
Depois 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 a produção.Passo 6: Verifique o app publicado

Solução de problemas
A importação falha porque as tabelas já existem
O comandopg_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 (role) ou política
Se o seu banco de dados usa funções (roles) personalizadas do PostgreSQL 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 do Replit para o Helium 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 opg_restore, contate o suporte para obter ajuda.