toumoro/tm-migration

TYPO3 extension that brings together the tools used for a major TYPO3 migration.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:typo3-cms-extension

dev-main 2025-06-13 16:59 UTC

This package is not auto-updated.

Last update: 2025-06-14 12:19:37 UTC


README

TYPO3 extension that brings together essential tools for major TYPO3 migrations.

🚀 Features

✅ Dependencies

This extension relies on:

  • typo3-fractor
  • typo3-rector
  • core-upgrader

🛠 CLI Commands

Export CTypes and List Types

Export CType and list_type values to JSON or CSV:

vendor/bin/typo3 export:types -t [FILE_TYPE] -m [FILE_NAME]

Example:

vendor/bin/typo3 export:types -t csv -m types.csv

Fix duplicate MM relations

Clean up duplicate entries in MM relation tables (e.g. sys_category_record_mm):

vendor/bin/typo3 upgrade:fixdatabaseerrors

🧩 Upgrade Wizards

  • Migrate list_type to CType
    Upgrade wizard to migrate list_type plugins to CType content elements using a configurable mapping array.
    The mapping can be customized via the tm_migration extension settings.

  • Clean log table
    Upgrade wizard to delete or truncate entries from sys_log based on the retention period set in the extension settings.

  • Migrate grid elements to container
    Upgrade wizard to migrate grid elements to container content elements.

âš™ī¸ Rector & Fractor Configurations

Sample Rector and Fractor configurations are provided in:

packages/tm_migration/Resources/Private/Config

To copy them into your project:

cp packages/tm_migration/Resources/Private/Config/* YOUR_TARGET_DIRECTORY/

📝 Dry Runs (Simulations)

Before applying automatic fixes, you can run Rector and Fractor in dry-run mode to preview changes:

Run Rector dry-run:

vendor/bin/rector process --debug --dry-run 2>&1 | tee rector-dryrun.txt

Run Fractor dry-run:

vendor/bin/fractor process --dry-run 2>&1 | tee fractor-dryrun.txt

⚡ Apply automatic fixes

When ready, apply the code modifications:

vendor/bin/rector process --debug
vendor/bin/fractor process

â„šī¸ Tip:
Using --debug with Rector avoids issues caused by parallel processing.