Desinstalando um plugin no multisite

Este é um caso extremo, pode ser um bug, e estou curioso se há uma boa solução para isso.
@sam Estou marcando você porque, se alguém souber, provavelmente é você.

Considere uma instalação multissite.

  1. O Fórum A é adicionado à instalação multissite
  2. Um plugin que modifica o banco de dados é instalado (por exemplo, o plugin de chat que adiciona chat_enabled a user_options)
  3. As migrações são executadas e colunas são adicionadas a algumas tabelas no fórum A
  4. O plugin é removido, as colunas permanecerão
  5. O Fórum B é adicionado à instalação multissite
  6. Agora temos o Fórum A e o Fórum B em uma única instalação multissite com diferentes definições de coluna em user_options
  7. multisite:seed_fu encontra problemas (acho que por causa do cache do modelo ActiveRecord?)
#<ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:  column user_options.chat_enabled does not exist
LINE 1: ...lendar", "user_options"."oldest_search_log_date", "user_opti...
4 curtidas

Tenho quase certeza de que também me deparei com esse problema quando tentei adicionar um novo site a um multisite recentemente. Obrigado por articulá-lo.

1 curtida

Sim, isso é um pouco um pesadelo, você terá que executar a limpeza manualmente aqui.

É fundamental ter paridade de esquema em todas as configurações de multisite.