Page MenuHomePhabricator

Tables in virtual database domains are no longer created by the updater
Open, Needs TriagePublic

Description

One of the reasons given in T330590 in favour of virtual domains was that the previous handling of external databases «can't be properly wired in the updater/installer». As extensions migrated their legacy code to virtual domains, their LoadExtensionSchemaUpdates hook handlers became functional or at least got simplified. For example:

This meant that by running update.php, the schema would be created/updated in the right place, by default.

Last month, in r1089379, this functionality was disabled because it «is necessary for production safety and should replace some extension hacks». In practice, this means that:

  • Locally, you need to pass --doshared to update.php to re-enable updates on virtual domains.
  • In beta, schema changes are no longer applied automatically.

I know basically nothing about the ongoing installer refactoring, so I don't know what the best way forward would be. However, I do think it would be nice to get the previous behaviour back.