Nas notas de lançamento mais recentes (3.2.0.beta1), notei o plugin discourse-ai que eu não tinha visto antes, então tentei adicionar este plugin e atualizar minha instância do Discourse ao mesmo tempo.
Como mencionado no título, estou vendo um erro no bootstrap onde o rake db:migrate falha ao criar um índice único em theme_field_id. Aqui estão alguns detalhes sobre como cheguei a esse ponto, no entanto…
Tentativa Inicial de Atualização (erro do patch-package)
Estou executando uma instalação de contêiner dividida, então eu:
-
Editei meu
web_only.ymlpara adicionar o novo plugindiscourse-aiex. Adicionada uma linha extra aos hooks de plugins
## Plugins vão aqui ## veja https://meta.discourse.org/t/19157 para detalhes hooks: after_code: - exec: cd: $home/plugins cmd: - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git - sudo -E -u discourse git clone https://github.com/discourse/discourse-voting.git - sudo -E -u discourse git clone https://github.com/discourse/discourse-ai.git -
Executei
./launcher bootstrap web_only
Ele falhou com uma mensagem sobre patch-package não ser encontrado.
Git Pull → bootstrap (erro do pg-vector)
Pensei em garantir que tinha as últimas atualizações do launcher, pois não faria mal antes de tentar novamente:
- Executei um
git pullpara garantir que tinha as últimas atualizações relacionadas ao launcher - Executei
./launcher bootstrap web_onlynovamente
Desta vez, recebi mensagens de erro relacionadas ao pg-vector.
Anotei minhas versões do PostgreSQL para ter em meus registros quando decidisse revisitar o plugin discourse-ai.
- web_only:
- cliente:
psql (PostgreSQL) 13.10 (Debian 13.10-1.pgdg110+1)
- cliente:
- data:
- servidor:
PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1)
- servidor:
Remover Plugin discourse-ai → Bootstrap
E então removi o plugin discourse-ai do arquivo web_only.yml e executei um bootstrap novamente.
Para minha surpresa, eu ainda estava vendo erros, mas desta vez eles parecem estar relacionados ao rake db:migrate não conseguir criar um índice único index_javascript_caches_on_theme_field_id com o detalhe: Chave (theme_field_id)=(3) duplicada.
Sua ajuda? 
É por isso que estou aqui procurando ajuda. Pensei em fazer uma pausa e obter algumas informações da comunidade antes de me aprofundar mais, caso alguém mais tenha visto isso antes.
Para referência, tenho a versão 3.2.0.beta1-dev (993ed10cf0 ~ 9 de agosto) instalada.
E embora eu não ache que esteja relacionado a isso, acho que não faz mal mencionar que migrei entre máquinas host no início deste ano… embora eu tenha feito várias atualizações do Discourse através da interface de administração desde então.
Abordagem de migração
Pelo que me lembro, isso foi basicamente atualizar a instância de origem para a versão mais recente do Discourse, instalar o Discourse no novo host, congelar a origem, fazer um backup do Discourse na origem, rsync imagens/etc entre os hosts, restaurar o backup no novo host.