# Plugin para ajudar no mapeamento de threads pré-migração após a migração

**URL:** <https://meta.discourse.org/t/plugin-to-help-mapping-pre-migration-threads-after-migration/254497>\
**Category:** Development\
**Created:** [Fevereiro 8, 2023, 6:43pm UTC](https://meta.discourse.org/t/plugin-to-help-mapping-pre-migration-threads-after-migration/254497 "2023-02-08T18:43:34Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Crius](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/crius/32/317214_2.png) [@Crius](https://meta.discourse.org/u/Crius)\
**Post date:** [Fevereiro 8, 2023, 6:43pm UTC](https://meta.discourse.org/t/plugin-to-help-mapping-pre-migration-threads-after-migration/254497/1 "2023-02-08T18:43:34Z")

</div>

Olá, eu e meu grupo de idiotas malucos estamos muito perto de finalmente migrar nosso fórum Vbulletin3 para o Discourse, depois de termos escrito um script ad-hoc que finalmente conseguiu migrar todas as 21 milhões de respostas do banco de dados original para o Discourse.

Agora, temos o problema dos links para os tópicos/respostas escritos nas próprias respostas.

Na migração que escrevemos, criamos um mapeamento dos IDs “antigos” de tópico e postagem para o que eles mapeiam no Discourse.

Por exemplo:

```plaintext
   id | topic_id | name | value | created_at | updated_at
--------+----------+-----------+--------+----------------------------+----------------------------
 581727 | 581736 | import_id | 599137 | 2023-02-08 16:30:01.600759 | 2023-02-08 16:30:01.600759

```

O que eu estava pensando agora é em um plugin que simplesmente intercepte links para o formato antigo do fórum e os transforme com referência ao novo tópico/resposta.

Então, por exemplo, algo como:

`https://oldforum.something.com/showthread.php?t=123456`

Dispararia uma busca na tabela `topics_custom_field` usando o valor `123456`, encontraria o `topic_id` do Discourse, então consultaria a tabela `topic_links` com esse ID e encontraria a `url`. Finalmente, substituiria no post do lado do cliente (assumindo JavaScript para manipular o conteúdo).

Algo semelhante para as postagens.

No entanto, não consigo encontrar nenhum bom exemplo de como começar a criar algo assim para o Discourse.  
Alguém pode me dar algumas dicas, exemplos ou plugins que fariam algo semelhante (verificar respostas em busca de alguma substring e substituí-la, consultar a API? DB? para um valor para recuperar outro?).

Obrigado

---

_[View the full topic](https://meta.discourse.org/t/plugin-to-help-mapping-pre-migration-threads-after-migration/254497)._
