Core Platform Team/Initiatives/MCR schema migration


Initiative Description

< Initiatives


Complete the schema migration tasks associated with the Multi-Content Revisions (MCR) project.

Significance and Motivation

This initiative is necessary to remove the tech debt remaining from the pre-MCR schema.


Writing to pre-MCR fields is disabled in WMF production. Pre-MCR fields can be dropped from the database at the discretion of DBAs. All code that writes pre-MCR fields has been removed from core.

Baseline Metrics

Some core in core and extensions still relies on information in pre-MCR fields in the database. This makes it impossible to stop writing to these fields.

Target Metrics

All code that accesses pre-MCR fields in the database is removed or gated with the MCR migration stage. This applies to core as well as deployed extensions and bundled extensions.


core developers, database admins

Known Dependencies/Blockers

None given

Epics, User Stories, and Requirements

< Initiatives

  • EPIC T231671: Ensure all direct or indirect access to pre-MCR fields is gated with the MCR migration stage.
    • USER STORY T231689: Can get bulk access from code that has been using the 'text' for getQueryInfo()
    • USER STORY T231693: No direct or indirect access to pre-MCR fields is ungated
    • USER STORY T231699: A warning is emitted if any pre-MCR fields are accessed
  • EPIC T231672: Stop writing to pre-MCR fields in WMF production (no coding, just config - and fixing bugs)
    • USER STORY T183487: MCR schema migration stage 3: stop using legacy fields
  • EPIC T231673: Make SCHEMA_COMPAT_NEW the default MCR migration schema (trivial change, really, but conceptually a milestone)
    • target 1.34
    • T214308 Force usage of MCR aware database schema
    • make sure update.php works right!
  • EPIC T231674: Remove the ability to write pre-MCR fields, limit the ability to read pre-MCR fields to migration scripts. Remove the MCR migration stage config variable
    • target 1.35
    • T198557 Remove support for writing to the pre-MCR schema
    • Remove migration stage setting

Documentation Links

< Initiatives


None given


Multi-Content Revisions

Other Documents

None given