Skip to main content
Este guia mostra como copiar um app para outro workspace ou conta manualmente. Você copia o código, configura o novo app, copia seus dados e depois direciona seus usuários para o novo app. Nada é movido ou excluído. O projeto antigo permanece exatamente onde está, e as duas cópias não permanecem sincronizadas. Quando terminar, você escolhe se quer manter ou excluir o antigo.
Procurando a transferência integrada em um clique? Veja Transferir App para Equipes. Use este guia quando essa opção não estiver disponível ou quando você precisar copiar entre contas.

Antes de começar

Você precisa de:
  • Acesso tanto ao projeto antigo quanto ao novo workspace ou conta.
  • Cerca de uma hora de tempo dedicado para a troca final. As etapas anteriores podem acontecer ao longo de vários dias.
  • Se seu app tiver um endereço web personalizado, acesso a onde você gerencia esse domínio.
Duas coisas não são copiadas automaticamente e consomem a maior parte do tempo: seu banco de dados e seu endereço web. Este guia aborda ambos.
Se o administrador do seu workspace ativou Bloquear exportação de código-fonte, você não pode baixar o projeto como zip. Converse com o administrador do seu workspace antes de começar—ele pode confirmar se uma cópia manual é permitida e como mover o código e o banco de dados.

Planeje o tempo de inatividade

Pense nisso como abrir uma segunda loja e depois fechar a primeira. Há um curto período em que a loja antiga está fechada e a nova ainda não está aberta. Durante esse tempo, ninguém pode usar seu app. Por quanto tempo o app fica offline? Geralmente de 15 a 60 minutos. Depende de quantos dados seu banco de dados contém e da rapidez com que seu endereço web é atualizado. Vou perder dados? Só se alguém adicionar dados ao app antigo depois que você copiar o banco de dados. Para evitar isso, você tira o app antigo do ar antes de fazer a cópia final. Este guia está organizado para que isso aconteça. Posso desfazer isso? Sim. O projeto antigo não é excluído. Se algo der errado, publique o app antigo novamente e ele funcionará exatamente como antes. Quando devo fazer isso? Escolha um horário em que poucas pessoas usem seu app. Avise seus usuários com antecedência, se possível.

Etapa 1: Copiar o código para um novo projeto

Escolha um método. O app antigo permanece ativo durante esta etapa. Ambos os métodos transportam seu código. O GitHub sempre transporta seu histórico de commits, enquanto um zip transporta o histórico apenas quando inclui a pasta .git:

Via GitHub

1

Envie o projeto antigo para o GitHub

No projeto antigo, abra o painel Git, conecte um repositório GitHub e, em seguida, commite e envie (push). Use um repositório privado, a menos que você queira o código público.
2

Conceda acesso à nova conta

Se o novo workspace pertencer a uma conta Replit diferente, a conta GitHub dela precisa de acesso ao repositório. Para um repositório privado, adicione essa conta GitHub como colaboradora ou use uma organização GitHub compartilhada.
3

Importe no novo workspace

Faça login na nova conta, abra replit.com/import, selecione GitHub, conecte a conta GitHub e escolha o repositório. Veja Importar de um provedor para solução de problemas.
4

Verifique a cópia

Abra o novo projeto e confirme que os arquivos e o histórico de commits estão presentes. O Replit instala as dependências e configura os comandos de execução durante a importação.
O GitHub recebe apenas o que você commita e envia. Arquivos correspondidos pelo .gitignore e alterações não commitadas ficam de fora. Nunca commite valores de secrets ou dumps de banco de dados no repositório.

Via arquivo zip

1

Baixe o projeto antigo

No projeto antigo, selecione o menu de três pontos no topo da árvore de arquivos e escolha Baixar como zip.Se o download funcionar e o arquivo tiver menos de 200 MB, pule para a próxima etapa.Um arquivo zip maior que 200 MB pode ser baixado com sucesso. No entanto, a importação de ZIP rejeita arquivos acima de 200 MB, então o Replit não pode usá-lo para criar o novo projeto. Se o download falhar ou o zip tiver mais de 200 MB, crie um menor:
  1. No projeto antigo, abra a ferramenta Shell.
  2. Cole este comando e pressione Enter. Ele cria um arquivo chamado project.zip e deixa de fora pastas que o Replit pode reconstruir por conta própria:
  3. Verifique o tamanho. Cole este comando e pressione Enter. Ele exibe o tamanho em MB, como 150M para 150 MB:
  4. Se o tamanho for maior que 200 MB, reduza o arquivo deixando de fora seu histórico de edições. Cole as duas linhas e pressione Enter:
    Só exclua .local e .git quando precisar reduzir o zip para menos de 200 MB. Essas exclusões não excluem nenhuma das pastas do projeto antigo. No entanto, um zip sem .git não inclui o histórico de commits do projeto. Use o método do GitHub se precisar preservar o histórico.
  5. Encontre project.zip na árvore de arquivos, selecione o menu de três pontos ao lado dele e selecione Download.
A pasta .cache armazena estado interno do Replit, incluindo valores de secrets em cache. Sempre a exclua dos arquivos zip que você criar manualmente. Se seu projeto tiver outras pastas geradas grandes, adicione-as à lista de exclusão.
2

Importe no novo workspace

Faça login na nova conta, abra replit.com/import, selecione ZIP e envie o arquivo.
3

Verifique a cópia

Abra o novo projeto e confirme que seus arquivos estão presentes. Se o zip incluir a pasta .git, seu histórico de commits veio junto. Se você usou o comando de arquivo menor, o novo projeto começa sem histórico de commits. O Replit reinstala as dependências excluídas durante a importação.

Etapa 2: Configurar o novo app

O app antigo ainda está ativo. Nesta etapa, você deixa o novo app totalmente funcional com uma cópia de teste dos seus dados, para que a troca final mais tarde seja rápida.
1

Adicione seus Secrets

Os valores de secrets (chaves de API, senhas) nunca saem do projeto antigo. Abra a ferramenta Secrets em ambos os projetos e copie cada um manualmente. Inclua quaisquer secrets de deployment.
2

Reconecte Conectores e outros serviços

Reconecte cada integração em Tools → Connectors no novo projeto. Veja Recrie o que não é copiado para App Storage, colaboradores e todo o resto.
3

Publique o novo app

Publique o novo projeto. Ele recebe seu próprio endereço web replit.app e seu próprio banco de dados de produção vazio. Não conecte seu domínio personalizado ainda.
4
Siga Copiar o banco de dados abaixo, usando o banco de dados de produção no novo projeto como destino. Isso lhe dá dados reais para testar. A Etapa 3 substitui esta cópia pelos seus dados mais recentes.
5
Abra o novo app no endereço replit.app e use-o da forma que seus usuários usariam. Corrija qualquer coisa que esteja quebrada antes de continuar. Seus usuários ainda não foram afetados.

Etapa 3: Direcionar seus usuários para o novo app

Esta é a parte com tempo de inatividade. Faça-a em uma única sessão.
1

Tire o app antigo do ar

No projeto antigo, abra a ferramenta Publishing e selecione Unpublish. Seu app agora está offline. Ninguém pode adicionar novos dados a partir deste ponto, então a cópia que você fará a seguir estará completa.
2

Copie o banco de dados uma última vez

Siga Copiar o banco de dados abaixo, usando o banco de dados de produção no novo projeto como destino. Esta cópia tem todos os seus dados mais recentes.
3

Direcione seu endereço web para o novo app

Se seu app usa um domínio personalizado: no projeto antigo, abra Publishing → Domains e desconecte o domínio. No novo projeto, abra Publishing → Domains e conecte-o. Atualize os registros no seu provedor de domínio (por exemplo, GoDaddy ou Namecheap) se o Replit solicitar.O novo endereço pode levar de alguns minutos a algumas horas para funcionar para todos. Até então, alguns visitantes podem ver um erro.Se seu app usa apenas um endereço replit.app, compartilhe o novo endereço com seus usuários.
4

Confirme que o novo app está no ar

Abra seu endereço web e confirme que o novo app carrega com seus dados. Seu app está online novamente.

Copiar o banco de dados

A cópia do código não afeta seu banco de dados. Copie os dados com as ferramentas pg_dump e pg_restore do PostgreSQL, disponíveis no Shell de ambos os projetos. Tanto a Etapa 2 quanto a Etapa 3 apontam para aqui. Os comandos são os mesmos a cada vez. Somente o destino muda.
Dados escritos depois que você executa pg_dump não entram na cópia. Para a cópia final na Etapa 3, tire o app antigo do ar primeiro.
1

Exporte os dados do projeto antigo

Abra a ferramenta Shell no projeto antigo. Cole este comando e pressione Enter. Ele cria um arquivo chamado backup.dump na sua árvore de arquivos:
Isso exporta o banco de dados de desenvolvimento. Seus dados em produção geralmente estão no banco de dados de produção. Para exportar esse:
  1. Abra a ferramenta Database, selecione o banco de dados de produção e abra Settings.
  2. Copie a string de conexão.
  3. No comando acima, substitua "$DATABASE_URL" pela string de conexão, mantendo as aspas.
Veja Detalhes de conexão se você não conseguir encontrá-la.
2

Mova o arquivo dump para o novo projeto

Na árvore de arquivos do projeto antigo, selecione o menu de três pontos ao lado de backup.dump e faça o download. Depois envie-o para o novo projeto com a opção Upload files da árvore de arquivos.Se você copiou o código pelo GitHub, não commite o dump. Mova-o separadamente para que seus dados nunca cheguem ao repositório.
3

Importe os dados no novo projeto

Abra a ferramenta Shell no novo projeto. Cole este comando e pressione Enter:
Como está escrito, isso importa para o banco de dados de desenvolvimento do novo projeto. Isso é o que você quer na Etapa 2.Para a cópia final na Etapa 3, você quer o banco de dados de produção em vez disso. No novo projeto, abra a ferramenta Database, selecione o banco de dados de produção, abra Settings, copie a string de conexão e use-a no lugar de "$DATABASE_URL".Isso descarta quaisquer objetos correspondentes no banco de dados de destino e depois carrega os dados. Quando terminar sem saída, funcionou.
Se pg_restore falhar com erros de role ou de política, seu banco de dados usa roles personalizadas do PostgreSQL que ainda não existem no novo projeto. Entre em contato com o suporte para obter ajuda.
Se o novo projeto usar um banco de dados de desenvolvimento legado do Neon, o fluxo de publicação oferece Set up your production database with your current development data. Isso copia o que estiver no banco de dados de desenvolvimento no momento em que você publica. É adequado para testes, mas para a troca final use as etapas acima para obter os dados mais recentes.

Recrie o que não é copiado

O restante da configuração do projeto vive fora do sistema de arquivos. Recrie cada parte no novo projeto:

Se algo der errado

O projeto antigo ainda está lá. Para voltar atrás:
  1. No projeto antigo, abra a ferramenta Publishing e selecione Publish.
  2. Se você moveu um domínio personalizado, mova-o de volta da mesma forma.
Seu app está no ar novamente com os dados que tinha quando você o tirou do ar. Nada foi perdido.

Limpeza

Espere cerca de uma semana para ter certeza de que o novo app está funcionando. Depois:
  • Remova backup.dump de ambos os projetos e do seu dispositivo. Cada cópia contém uma exportação completa dos seus dados.
  • Opcionalmente, exclua o projeto antigo.

Recursos relacionados