(Updated 2025-02-21 to reflect recommended schema layout for this case.)
T383591's update to JsonConfig requires a single column addition on the globaljsonlinks_wiki table. This is small, and isolated on x1.commonswiki in production.
Initial config steps:
- Set $wgTrackGlobalJsonLinksNamespace = false; in config so nothing breaks if the patch goes live early
- Land patch for T383591
DB steps:
- 1. Apply sql/mysql/patch-gjlw_namespace_text.sql on x1.commonswiki
- 2. run on x1.commonswiki
- 3. this can be run at any time, the wiki will have the new column preffed off before patch deployment, until it's confirmed ready
- 4. schema change *is* backwards compatible, old code will record null column values which will be auto-upgraded later
- 5. schema change has not yet been tested on test -- to try it, apply on testcommonswiki
- 6. no sensitive data, ok to include this table and all its columns in replicas and dumps
- 7. this schema change blocks full rollout of cross-wiki usage tracking display for Charts extension and other Data:.tab pages used via JsonConfig
Final config steps:
- Set $wgTrackGlobalJsonLinksNamespace = true; in config to start recording data in the new column.
This can be run at any time, and should be very quick, it's a relatively small table and this adds a non-indexed nullable integer and a non-indexed nullable text column, with a change to the unique index that restricts entries. Old entries will default to null in old rows, with a fallback to canonical namespaces for most cases, and will be back-filled by later regular operations. No manual intervention is expected to be needed.