diff --git a/docs/en/writing-migrations.md b/docs/en/writing-migrations.md index b9bff8a6..162515f1 100644 --- a/docs/en/writing-migrations.md +++ b/docs/en/writing-migrations.md @@ -40,6 +40,60 @@ class MyNewMigration extends BaseMigration } ``` +### Anonymous Migration Classes + +Migrations also supports generating anonymous migration classes, which use PHP's +anonymous class feature instead of named classes. This style is useful for: + +- Avoiding namespace declarations +- Better PHPCS compatibility (no class name to filename matching required) +- Simpler file structure without named class constraints +- More readable filenames like `2024_12_08_120000_CreateProducts.php` + +To generate an anonymous migration class, use the `--style anonymous` option: + +``` bash +$ bin/cake bake migration CreateProducts --style anonymous +``` + +This generates a migration file using an anonymous class: + +``` php + [ + 'style' => 'anonymous', // or 'traditional' +], +``` + +This configuration also applies to seeds, allowing you to use consistent styling +across your entire project. + ## The Change Method Migrations supports 'reversible migrations'. In many scenarios, you