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.
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
Envie o projeto antigo para o GitHub
Conceda acesso à nova conta
Importe no novo workspace
Verifique a cópia
Via arquivo zip
Baixe o projeto antigo
- No projeto antigo, abra a ferramenta Shell.
-
Cole este comando e pressione Enter. Ele cria um arquivo chamado
project.zipe deixa de fora pastas que o Replit pode reconstruir por conta própria: -
Verifique o tamanho. Cole este comando e pressione Enter. Ele exibe o tamanho em MB, como
150Mpara 150 MB: -
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
.locale.gitquando 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.gitnão inclui o histórico de commits do projeto. Use o método do GitHub se precisar preservar o histórico. -
Encontre
project.zipna árvore de arquivos, selecione o menu de três pontos ao lado dele e selecione Download.
.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.Importe no novo workspace
Verifique a cópia
.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.Adicione seus Secrets
Reconecte Conectores e outros serviços
Publique o novo app
replit.app e seu próprio banco de dados de produção vazio. Não conecte seu domínio personalizado ainda.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.Tire o app antigo do ar
Copie o banco de dados uma última vez
Direcione seu endereço web para o novo app
replit.app, compartilhe o novo endereço com seus usuários.Confirme que o novo app está no ar
Copiar o banco de dados
A cópia do código não afeta seu banco de dados. Copie os dados com as ferramentaspg_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.
Exporte os dados do projeto antigo
backup.dump na sua árvore de arquivos:- Abra a ferramenta Database, selecione o banco de dados de produção e abra Settings.
- Copie a string de conexão.
- No comando acima, substitua
"$DATABASE_URL"pela string de conexão, mantendo as aspas.
Mova o arquivo dump para o novo projeto
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.Importe os dados no novo projeto
"$DATABASE_URL".Isso descarta quaisquer objetos correspondentes no banco de dados de destino e depois carrega os dados. Quando terminar sem saída, funcionou.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.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:- No projeto antigo, abra a ferramenta Publishing e selecione Publish.
- Se você moveu um domínio personalizado, mova-o de volta da mesma forma.
Limpeza
Espere cerca de uma semana para ter certeza de que o novo app está funcionando. Depois:- Remova
backup.dumpde 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
- Transferir App para Equipes: A transferência integrada para mover um projeto para dentro ou entre workspaces de equipe
- Importar de um provedor: Todas as fontes de importação suportadas
- Corrigir um app publicado usando um banco de dados compartilhado: Mais solução de problemas de
pg_dumpepg_restore