Releases: cakephp/migrations
Migrations 5.0.3
What's Changed
- Filter out null fixed option from generated migrations by @dereuromark in #1048
- Stop using deprecated setOnDelete/setOnUpdate methods by @dereuromark in #1047
- Auto-generate foreign key constraint names when not provided by @dereuromark in #1041
- Add conflict resolution for auto-generated FK constraint names by @dereuromark in #1042
- Fix LONGTEXT columns becoming TEXT in generated migrations by @dereuromark in #1050
⚠️ Potential Breaking Change
Foreign Key Constraint Naming: When using addForeignKey() without an explicit constraint name, migrations now auto-generates names using the pattern {table}_{columns} instead of letting the database generate names (e.g., articles_ibfk_1 on MySQL). This provides consistent naming across all database adapters but may affect rollbacks in existing migrations that reference constraints by their old names. See the upgrade documentation for details.
Full Changelog: 5.0.2...5.0.3
Migrations 5.0.2
What's Changed
- Fix migrations upgrade with postgres which has native booleans by @nicosp in #1023
- Fix spurious warning when using empty conflictColumns with MySQL by @jamisonbryant in #1028
- add using when changing column type to json by @swiffer in #1031
- Fix TEXT column variants not round-tripping correctly by @dereuromark in #1032
- Add fixed option for binary column type by @dereuromark in #1014
- Add TYPE_BIT constant to AdapterInterface by @dereuromark in #1013
- Fix upgrade command not matching plugins with slashes by @dereuromark in #1039
Full Changelog: 5.0.1...5.0.2
Migrations 4.9.6
What's Changed
- Fix dump command error when migrations directory does not exist by @dereuromark in #1009
- Add runtime deprecation warnings for AbstractMigration and AbstractSeed by @dereuromark in #1006
- Fix column collation not applied for uuid type by @dereuromark in #1025
Full Changelog: 4.9.5...4.9.6
Migrations 5.0.1
What's Changed
- Fix dump command error when migrations directory does not exist by @dereuromark in #1009
- Remove hardcoded default collation for MySQL tables by @dereuromark in #1011
- Add upgrade warning when using legacy phinxlog tables by @dereuromark in #1016
- Track last execution time for idempotent seeds by @dereuromark in #1017
Full Changelog: 5.0.0...5.0.1
Migrations 5.0.0
Fully refactored major with zero dependencies outside CakePHP code.
Breaking Changes
- Phinx fully removed - The library no longer depends on Phinx. All functionality is now native to CakePHP Migrations.
- Requires CakePHP 5.3+
- Integer columns now default to signed - Use explicit
'signed' => falsefor unsigned columns - Unified migrations table - New
cake_migrationstable name (auto-detects legacyphinxlogfor BC)
New Features
- Seed tracking - Seeds now track execution state in
cake_seedstable, preventing accidental re-runs - Upsert operations -
insertOrUpdate()andinsertOrSkip()methods for seeds - Check constraints - Add CHECK constraints to columns
- Table partitioning - MySQL and PostgreSQL partition support via
partitionBy() - MySQL ALTER optimizations -
ALGORITHMandLOCKoptions for zero-downtime schema changes - Default value expressions - Support for
CURRENT_DATE,CURRENT_TIME, etc. as defaults - Bake improvements - Default value syntax support in migration bake commands
API Improvements
- Short seed names - Use
Usersinstead ofUsersSeedeverywhere - Seeds as command argument -
bin/cake seeds run Userinstead of--seed User --fakeflag - Mark seeds as executed without running them- Consistent use of CakePHP Database classes (Column, Index, ForeignKey)
For details see docs and migration guide.
Full Changelog: 4.9.4...5.0.0
Migrations 4.9.5
What's Changed
- Backport bug fixes from 5.x branch by @dereuromark in #1005
Full Changelog: 4.9.4...4.9.5
Migrations 4.9.4
What's Changed
- Fix small binary column creation by @markstory in #1000
Full Changelog: 4.9.3...4.9.4
Migrations 4.9.3
What's Changed
- Fix phinx backend using incorrect RollbackCommand class by @dereuromark in #991
Full Changelog: 4.9.2...4.9.3
Migrations 4.9.2
What's Changed
- Fix error running migrations with type
timestamptimezoneby @markstory in #979
Full Changelog: 4.9.1...4.9.2
Migrations 4.9.1
What's Changed
- Remove null collate option from generated migrations by @dereuromark in #975
Full Changelog: 4.9.0...4.9.1