Replace the monolithic validate-migration.js with a thin orchestrator
backed by tests/migration/fixture: spec-driven expectations, registry
profiles, and modular check modules.
Add hc-m2m fixture checks to validate-migration.js (counts, draft/publish
pairing, API relation parity for v4-origin runs). Harden morph and nested
component validation. Prefer Docker for compose on GitHub Actions and set
STRAPI_BENCH_RUNTIME on migration_v5 so postgres/mysql/mariadb matrix legs
start containers reliably.
Co-authored-by: Cursor <cursoragent@cursor.com>
DB-level verification compared raw component row ids across every
component field on relation-dp, causing false failures when the same
numeric id appeared on different fields (e.g. media-block vs simple-info).
Scope the check to the sections dynamic zone and compare type:id keys.
Co-authored-by: Cursor <cursoragent@cursor.com>
Run migration_v5 on sqlite, postgres, mysql, and mariadb; add Compose
mariadb service, db-mariadb tooling, and Strapi mysql2 wiring for
--database mariadb. Extend filters `migrations` to tests/migration and
examples/complex (compose, scripts, config, src, package.json) so harness
changes trigger the job. Document CI vs CLI in tests/migration README;
trim complex README; update v5 .env.example and add db/develop scripts.