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...
4 « J'aime »

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é.

1 « J'aime »

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.