> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migração e modernização

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<div id="overview">
  ## Visão geral
</div>

O Devin pode eliminar o sofrimento das migrações, ajudando você a migrar entre diferentes frameworks, linguagens etc. Use [playbooks](/pt-BR/product-guides/creating-playbooks) para reutilizar facilmente prompts em grandes migrações.

<div id="use-cases">
  ## Casos de uso
</div>

1. Migrações de linguagem de programação (por exemplo, de JavaScript para TypeScript)
2. Atualizações de frameworks (por exemplo, de React 17 para 18)
3. Migrações de banco de dados
4. Atualizações de dependências
5. Modernização da arquitetura

<div id="example-prompts">
  ## Exemplos de Prompts
</div>

<AccordionGroup>
  <Accordion title="Atualização de Java 7 para Java 8" icon="circle-up">
    <PromptBlock>
      ```txt Java upgrade theme={null}
      ## Visão geral
      Este playbook contém instruções passo a passo para atualizar um projeto em Java 7 para Java 8.

      ## Procedimento
      1. Verificar se o projeto fornecido está de fato em Java 7
      2. Instalar o Java 8 Development Kit (JDK)
      3. Atualizar a configuração de build do projeto
      4. Identificar e substituir APIs obsoletas do Java 7
      5. Analisar a base de código em busca de possíveis melhorias com Java 8
      6. Atualizar os testes unitários
      7. Realizar testes abrangentes
      8. Atualizar a documentação
      9. Fazer o build e verificar a aplicação

      ## Recomendações e dicas
      - Consulte a documentação do Java 8 para obter informações detalhadas sobre os novos recursos e APIs
      - Para migrações em larga escala, considere usar a [Referência de API](/api-reference/overview) para executar várias sessões de migração em paralelo
      ```
    </PromptBlock>
  </Accordion>

  <Accordion title="Migração para TypeScript" icon="code">
    <PromptBlock>
      ```txt TypeScript migration theme={null}
      Ajude-nos a migrar nosso projeto em JavaScript para TypeScript. Precisamos:
      1. Adicionar a configuração do TypeScript
      2. Converter arquivos .js para .ts
      3. Adicionar definições de tipos apropriadas
      4. Atualizar o processo de build
      5. Garantir que todos os testes continuem passando
      ```
    </PromptBlock>
  </Accordion>
</AccordionGroup>

<div id="example-session">
  ## Exemplo de sessão
</div>

<div id="csv-to-notion-bulk-migration">
  ### Migração em lote de CSV para Notion
</div>

Nesta sessão de exemplo, Devin ajuda um usuário a migrar dados de arquivos CSV para o Notion.

[https://app.devin.ai/sessions/583736c03c174c92884aad7ada325fe2](https://app.devin.ai/sessions/583736c03c174c92884aad7ada325fe2)
