Désinstallation d'un plugin sur multisite

C’est un cas limite, il pourrait s’agir d’un bug, et je suis curieux de savoir s’il existe une bonne solution pour cela.
@sam Je vous identifie car si quelqu’un doit savoir, c’est probablement vous.

Considérez une installation multisite.

  1. Le forum A est ajouté à l’installation multisite.
  2. Un plugin qui modifie la base de données est installé (par exemple, le plugin de chat qui ajoute chat_enabled à user_options).
  3. Les migrations sont exécutées et des colonnes sont ajoutées à certaines tables du forum A.
  4. Le plugin est supprimé, les colonnes resteront.
  5. Le forum B est ajouté à l’installation multisite.
  6. Nous avons maintenant le forum A et le forum B sur une seule installation multisite avec des définitions de colonnes différentes dans user_options.
  7. multisite:seed_fu rencontre des problèmes (je pense à cause de la mise en cache du modèle 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...

Je suis presque certain d’avoir également rencontré ce problème lorsque j’ai récemment essayé d’ajouter un nouveau site à un multisite. Merci de l’avoir exposé.

Oui, c’est un peu un cauchemar, vous allez devoir effectuer le nettoyage manuellement ici.

Il est essentiel d’avoir une parité de schéma dans toutes les configurations multisites.