Problem/Motivation
#3621250 gave 3.0.x the two tables potx needs to find config schema across projects: the processed schema and dependencies of every parsed module, and the lookup from schema keys to the module defining them. Drupal 7 has the same tables under the l10n_drupal_ prefix, with the arrays serialized where 3.0.x stores JSON, and nothing migrates them. Without the rows, config strings of a module whose schema lives in another module are only found once that other module gets parsed again on the new site, which never happens for older releases.
Proposed resolution
Two migrations in the l10n group with the migrate_plus table destination: the parsed module rows with the serialized arrays turned into JSON (a module without processed schema stays without), and the lookup rows copied as they are. The potx schema structure is the same in both potx versions, so the store serves the migrated rows like rows it wrote itself.
Test: a fixture based kernel test with three parsed modules and four lookup rows, asserting the JSON columns and the store's load, metadata and reverse lookup calls on the migrated data.
LLM disclosure
LLM was used to find, diagnose explain and fix this issue. With human review.
Comments
Comment #3
gábor hojtsy